I have designed databases several times in my company. To increase the performance of the database, I look for Normalisation and Indexing only.
If you were asked to incr
Compression. For the vast majority of loads I've tried, using compression was a tremendous free ride. Reduced data size means reduced I/O means better throughput. In SQL Server 2005 the compression options are limited (vardecimal
). But I would seriously consider upgrading to 2008 for page compression alone. Or 2008 R2 if you use nvarchar
frequently to get Unicode compression.
Data Retention. Establishing retention policies and deleting old data aggressively. Less data means less I/O, means better throughput. Often this is seen as operational, not design, but I like to think at this issue as an application design issue.
Of course, I assume you already monitor each and every query to ensure none does stupid end-to-end table scans.
Many more performance boosters are mostly operational or deployment, not design: maintenance (defragmentation, index rebuild etc), I/O and storage design etc.
And last but not least understand the hidden cost of various turn-key solutions. Like, say, Replication, or Database Mirroring.