実行速度が遅いクエリがあります。一般的に、パフォーマンスを高速化し、結合を制限し、単純なクエリの代わりにプロシージャを使用することを知っています。ビジネス ルールにより、procs を使用できません。もう、思いつく限り結合数を減らしました。
クエリ チューニングの次のステップは何ですか?
実行速度が遅いクエリがあります。一般的に、パフォーマンスを高速化し、結合を制限し、単純なクエリの代わりにプロシージャを使用することを知っています。ビジネス ルールにより、procs を使用できません。もう、思いつく限り結合数を減らしました。
クエリ チューニングの次のステップは何ですか?
インデックスを追加することは、おそらくクエリのパフォーマンスを向上させるためにできる一番のことですが、あなたはそれについて言及していません。
実行計画を調べて、追加のインデックスで改善できるかどうかを確認しましたか?
さらに、存在するインデックスを効果的に使用できるようにクエリを作成する必要があります(たとえば、sargable でない構造を避ける、 を避ける*
) 。
最も簡単な方法は、管理スタジオに移動して次のコマンドを実行することです。
SET SHOWPLAN_ALL ON
次に、実際のクエリを実行します。
通常のクエリ結果セットは取得できません。結果セットで実行計画 (SQL Server がクエリを変換するために行うことの非常に詳細なリスト) が得られます。出力に目を通し、それが何を意味するのかを理解してください。私は通常、遅い部分である「SCAN」を探し、インデックスを使用するように書き換えてみます。