Microsoft SQL Server
クエリの分析
サーチ…
スキャン対シーク
実行計画を表示すると、SQL ServerがSeekまたはScanを実行することを決定したことがあります。
シークは、SQL Serverが必要な場所を知っていて、特定のアイテムだけを取得する場合に発生します。これは、通常where name = 'Foo'
ようなクエリーに入れたときに良いフィルターが使用されたときに発生します。
スキャンとは、SQL Serverが必要とするすべてのデータがどこにあるかを正確に把握していない場合、または十分なデータが選択されている場合にスキャンがシークよりも効率的であると判断した場合です。
シークは通常、データのサブセクションを取得するだけなので高速ですが、スキャンはデータの大部分を選択しています。
Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow