I'm trying to get my team to think about only asking the database to do things it can do really well. I believe that when they stop thinking of the DBMS as an omniscient, omnipotent being and start treating it as a useful--albeit dumb--tool, they can begin to approach optimization and database design with the right attitude. That got me wondering: what types of operations does a modern database excel at? I'll start the list with the obvious tasks:
- Join using indexes
- Filter using indexes
- Order on a minimal number of columns
Any others you can think of?
EDIT: Feel free to add database anti-patterns as well, such as:
- Storing and manipulating binary files
- Handling hierarchal data (most databases)
Note for the picky: I do know the distinction between a database and a DBMS, but most people don't know (or bother) to recognize it, so I'm intentionally interchanging the concepts.