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.