How to optimize performance for MSSQL databases?

you should remove the "shrink database" part of your maintenance plan. "shrink database" will fragment your index! here is a great blog post by Paul S. Randal which explains this in detail.

you can rebuild your statistics with:

EXEC sp_updatestats

update your statistics always after your database reindex. here is a blog post by Colin Stasiuk which explains this best practice.


I got orders of magnitude performance improvement only by indexing (although I didn't really fiddle with it much)

After you handle the obvious (decent hardware, indexing and defrag'ing) you're best source for performance is looking at your own code.