SQL Serverの観点からは、これは転換点と呼ばれ、キンバリーのブログ投稿をよく読んでいます。 http://www.sqlskills.com/BLOGS/KIMBERLY /category/The-Tipping-Point.aspx
転換点は、テーブル内の総ページ数の25%〜33%のガイドラインであり、行として表されます。 10kのデータページでは、2500〜3333行の転換点が得られます。ガイドラインが進むにつれ、これは非常に優れており、得られる限り優れています。クエリプランエンジンはブラックボックスであり、クエリプランは提供されますが、決定された内容のみが示され、理由は示されません。
ただし、カバーリングインデックスのチップに関しては、実際にはそれほど簡単ではありません。データの100%が選択されていても、ほとんどの場合、カバーリングインデックスはオーバースキャンをシークします。
つまり、コストオプティマイザが実際のコストをインデックスページ階層に割り当てないことを考慮すると、インデックスのリーフページへのアクセスにコストがかかるだけです。その時点で、カバーリングインデックスの100%をスキャンまたはシークするのに同じ費用がかかります。
私は自分の実験から見つけました( http: //sqlfascination.com/2009/11/07/can-a-covering-nc-index-be-tipped )between句を使用するとスキャンされますが、他のwhere句ではスキャンされません-私が知る限り、それは純粋にクエリエンジンを経由するルートまででした。