The whole category in one page.
RECOVERABLE FIRST, THEN AVAILABLE, THEN FAST
A slow database is an inconvenience; a lost one can end a business. A backup that has never been restored is not a backup, and replication is not a backup either — a deletion replicates instantly and faithfully.
INDEXES ARE THE WHOLE GAME
Missing ones are why applications work for a year and then degrade suddenly. Index foreign keys, read the execution plan, and check whether far more rows are examined than returned.
MOST PROBLEMS ARE QUERIES, NOT CONFIGURATION
Fix the slow query before touching a setting. Tuning first is effort spent where the problem is not.
NEVER FLOATING POINT FOR MONEY, NEVER TEXT FOR DATES
And use the full character encoding, because the wrong one corrupts text permanently on import.
PUT CONSTRAINTS IN THE DATABASE, NOT ONLY THE APPLICATION
Scripts, imports and second applications bypass application validation entirely.
PARAMETERISE EVERY QUERY, AND GRANT MINIMUM PRIVILEGES
Injection is prevented by the first and limited by the second. An account that cannot drop tables cannot be made to.
BIND THE DATABASE TO THE LOCAL ADDRESS
Exposed databases are scanned and attacked continuously, and this single setting prevents most of it.