C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

単一インデックスと複合インデックスの差


(過去ログ 109 を表示中)

[トピック内 1 記事 (1 - 1 表示)]  << 0 >>

■64954 / inTopicNo.1)  単一インデックスと複合インデックスの差
  
□投稿者/ えれこぜ (1回)-(2013/01/24(Thu) 18:10:11)

分類:[データベース全般] 

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は全く同じであり、いずれか片方は不要なインデックスと言えますでしょうか?
深いところまで見えてないので、将来オプティマイザの選択で、単一、複合とで差が出るのか出ないのか、不安があります。

以上です。よろしくお願い致します。

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -