全般
http://technet.microsoft.com/ja-jp/ff606481より、初めに以下を試すといい。
[1-1] インデックスの設定
* どのようなインデックスが必要かを自動で判定してくれるツールが、データーベースエンジンチューニングアドバイザを参考にするといいhttp://blogs.msdn.com/b/crmjapan/archive/2010/04/01/crm-5.aspx
http://takumayokoo.blogspot.jp/
トラブルシューティング
ボトルネックとなっている箇所を調べるには
ボトルネックとなっている箇所を調べるには、調査ツールを使って調べる必要がある。 SQL Server の調査ツールについては、以下を参照のこと。http://blogs.yahoo.co.jp/dk521123/28894142.html
ビューのインデックスが効かなかった場合:WITH (NOEXPAND)
* 直接ビューのインデックスを有効にする必要があるには、FROM句のテーブル指定に「WITH (NOEXPAND)」の指定する
サンプル
SELECT ID, CustomerID FROM Orders WITH (NOEXPAND)
参考文献
http://note.miyabis.jp/2009/07/30570725.htmlhttp://technet.microsoft.com/ja-jp/library/cc917715.aspx
ロックが必要ない場合:WITH(NOLOCK)
* 業務上、DBへの更新がなく、参照のみの場合、ロック待ちを行う必要もないので、「WITH(NOLOCK)」の使用を検討する ~~~~ SELECT * FROM [tableName] WITH(NOLOCK) ~~~~ * ロック待ちについては、以下のサイトの図が分かりやすい。http://technet.microsoft.com/ja-jp/sqlserver/gg639075
参考文献
http://ameblo.jp/hiro628/entry-10204147688.htmlその他の参考文献
Dr. K's SQL Serverチューニング研修
http://www.atmarkit.co.jp/fdb/rensai/drk01/drk01_1.html真・Dr. K's SQL Serverチューニング研修
http://www.atmarkit.co.jp/fdb/rensai/10_drk/01/drk01.htmlMicrosoft
http://technet.microsoft.com/ja-jp/library/cc966540.aspx#EJAAhttp://technet.microsoft.com/ja-jp/library/cc748700.aspx
http://technet.microsoft.com/ja-jp/magazine/2007.11.sqlquery.aspx
http://msdn.microsoft.com/ja-jp/library/ff647793.aspx#scalenetchapt14_topic11
http://msdn.microsoft.com/ja-jp/library/ms177455%28v=sql.105%29.aspx