0

大きなテーブルを用意してください T

  • sID Int PK
  • pos Int PK
  • wID Int PK

自己結合

  • T2.sID = T1.sID
  • T2.pos = T1.pos + 1
  • T1.wID = 'alpha'
  • T2.wID = 'beta'

にインデックスを追加し(wID, sID)、確かにそれが役に立ちました(たくさん)

実行計画では、出力がsID、posであることに気づきました

そのため、インデックスを に変更しました(wID, sID, pos)

私が驚いたのは、クエリプランが同じままで、実行時間の改善がないことです

そのため、インデックスを次のように変更しました(wID)

同じクエリ プランと同じ実行時間

同じパフォーマンスを得るには、インデックスが小さい方がよいことは明らかです。

私の質問は、小さい方のインデックスが効果的である理由は何ですか?

その余分なデータがPKだからですか?

4

0 に答える 0