Databases
Databases are used by almost every application to store, load and manage volumes of data.
I have experience with writing applications that need good performance that use a database backend. I've had to squeeze every inch of performance out of Microsoft SQL server, and have written query optimization and batching systems as well as a database abstraction layer. And of course, I've created my share of custom queries for various needs.
Invariably the things that would seem to be most expensive aren't, and the little things that shouldn't make a difference double the run time of the application. It also seems to vary from back end to back end, but preparing statements and queries is always helpful (to the point that designing a system to prepare all queries needed by the application en masse can be a good idea), as is batching, and being careful of unneeded joins. Query analyzers are also really helpful.

