|
分類:[データベース全般]
sqlserver2000を使用しています。 オプティマイザが選択するインデックスについて質問があります。
例えば、hogeID、fugaDate、piyoNameの3項目があり、 hogeIDにのみクラスタ化インデックスがついているhogeテーブルがあります。ここから、
@fugaDateに対するインデックス(IX_fuga)を追加しました Aさらに、fugaDate,hogeIDに対するインデックス(IX_fugahoge)を追加しました
【質問です】 上記@Aで作成したうち、どちらか一方は不要なインデックスでしょうか?
【疑問点】 と言いますのも、統計情報で確認した際、@Aそれぞれ全く同じ情報が表示されます。
@(IX_fuga) fugaDate fugaDate,hogeID
A(IX_fugahoge) fugaDate fugaDate,hogeID
単一インデックス(@)であっても、クラスタ化インデックス(hogeID)がキーの一部となることは何となく理解できるのですが、 表示される統計情報(すべての密度値)も全く同じです。 (当然、最初の列であるfugaDateに対するヒストグラム(RANGE_ROWSやEQ_ROWS)も同じ値が表示されています。)
統計情報で同じ情報が表示されている限りは、@Aは全く同じであり、いずれか片方は不要なインデックスと言えますでしょうか? 深いところまで見えてないので、将来オプティマイザの選択で、単一、複合とで差が出るのか出ないのか、不安があります。
以上です。よろしくお願い致します。
|