4

sys.dm_db_index_usage_stats DMVは、SQLサーバーのインデックスに対するシークとスキャンの数に関する情報を提供します

複数の列を含む複合インデックスが多数あります。これらのインデックスは、多くのメンテナンスオーバーヘッドを引き起こしていると思われます。アンは列の数を絞りたいと考えています。

複合インデックスの個々の列に対するシークとスキャンを見つける方法はありますか?

4

1 に答える 1

3

SQL Serverは実装されていないSKIP SCANため、複合インデックスのシークには常にインデックスの左端(先頭)の列が含まれます。

つまり、にインデックスがある場合、インデックスシークはorとand(col1, col2)の検索に使用できますが、単独では使用できません。col1col1 col2col2

これらの列をすべて検索する場合は、おそらくインデックスを使用することでメリットが得られます。

あなたが言及した「メンテナンスオーバーヘッド」とは何ですか?それは単一列インデックスと複数列インデックスの間でどのように異なりますか?

于 2009-12-23T20:46:41.667 に答える