Ask any developer to name a few common performance bottlenecks and 99.9% of them will say “the database” as their first answer. Ask a DBA the same question and 99.9% of them will respond “crappy application code.” If we put aside the mutual love between each party, it’s actually worth looking at why they arrive at different conclusions.

First of all, it’s very easy to make any application or SQL query perform fast in a dev environment, especially on a developer’s desktop. Why? The two things that impact query performance are data volume and user/transaction concurrency, both of which typically don’t exist in dev environments when unit tests pass. Computing power these days is also silly fast and cheap with desktop cpu and memory helping any dev environment mask potential performance bottlenecks.