These problems may appear to be a symptom of what Dave Maier
famously called the "impedance mismatch" between the recordat-
a-time C-style language and the bulk database language. But
the deeper problem is that application programmers perversely
embrace the impedance mismatch by treating the database as a
giant record store. Programmers are trained (in schools, alas) to
write programs on small amounts of data. As a result, they reach
the workplace and test their program on 100 record databases.
With such small databases, inserting records one at a time works
blindingly fast. They are then surprised when it takes hours to
insert a million records.