【解決方法】SQL で 100% のコストがかかるクラスター インデックス

プログラミングQA


クラスターインデックスを作成した場合は、他のインデックスよりも高速に動作するはずです。
しかし、実行計画を確認すると、100% のコストが表示されます。

以下はその例です

表1
列1
列2
列3

CREATE CLUSTERED INDEX LK_table1 ON Table1 (Col1,
列2、
列3)

しかし、私は結合でcol1とcol3のみを使用し、col2はクエリで使用されます。
したがって、すべての列をインデックスで使用し、結合では使用しないと問題が発生します。コストが 100% になるのはそのためです。

私が試したこと:

クエリは適切に実行されているため、まだ何も試行していませんが、実行計画を確認すると、そのクラスター インデックスのコストが 100% と表示されます。
その費用を抑える方法を教えてください。

解決策 1

まず、「100% コスト」とは、クラスター化インデックスのスキャン/シークがそのクエリのコストの 100% を占めることを意味します。 これは、インデックスがない場合よりもクエリの効率が低下するという意味ではありません。

次に、関連テーブル内の予想されるデータ量と、実行が予想されるクエリを考慮してインデックスを設計する必要があります。 特定の値または範囲でフィルタリングしている場合は、 Col2、次に別のテーブルに結合します (Col1, Col3)、そうすれば、 おそらく 置きたい Col2 インデックスの最初にあります。 ただし、確実にするには、意味のあるデータをロードして実際のテーブルに対してテストする必要があります。

コメント

タイトルとURLをコピーしました