SQL Server のブックマーク検索とは何ですか? 質問する

SQL Server のブックマーク検索とは何ですか? 質問する

履歴データを検索するクエリを最適化しようとしています。クエリ アナライザーを使用して実行プランを検索したところ、クエリ コストの大部分が「ブックマーク検索」と呼ばれるものに集中していることがわかりました。実行プランでこのノードを見たことがなかったので、意味がわかりません。

これはクエリにとって良いことでしょうか、それとも悪いことでしょうか?

ベストアンサー1

ブックマーク検索は、非クラスター化インデックスで見つかったエントリに基づいて、SQL テーブル内の実際のデータを検索するプロセスです。

非クラスター化インデックス内の値を検索し、クエリにインデックス リーフ ノードの一部 (すべてのインデックス フィールドと、可能な INCLUDE 列) よりも多くのフィールドが必要な場合、SQL Server は実際のデータ ページを取得する必要があります。これをブックマーク検索と呼びます。

場合によっては、それが唯一の方法です。クエリに必要なフィールドが 1 つだけ (多数のフィールドではなく) の場合のみ、そのフィールドを非クラスター化インデックスに含めることをお勧めします。その場合、非クラスター化インデックスのリーフ レベル ノードには、クエリを満たすために必要なすべてのフィールド (「カバー」インデックス) が含まれるため、ブックマーク検索は不要になります。

マーク

おすすめ記事