5

MySql Indexes Optimization のドキュメントを読んでいます。

--max-seeks-for-key=1000 という設定を見つけました。ここで MySQL の「サーバー システム変数」を確認しました。
それによると

「これを低い値 (たとえば 100) に設定することで、MySQL にテーブル スキャンではなくインデックスを優先させることができます」

.
FULL TABLE SCANから私が理解していることは次のとおりです。

クエリでほとんどの行にアクセスする必要がある場合、インデックスを使用するよりも順次読み取る方が高速です。シーケンシャル読み取りは、クエリにすべての行が必要でない場合でも、ディスク シークを最小限に抑えます。

したがって、MySQL がディスク シークを最小限に抑えるフル テーブル スキャンを実行している場合、ディスク シークを増加させる可能性のあるインデックス スキャンを優先するために --max-seeks-for-key=1000 を使用するのはなぜですか。

ドキュメント8.3.1.20 では、フル テーブル スキャンを回避する方法が、フル スキャンを回避するためのステップとして言及されています。

したがって、 --max-seeks-for-key の実用的で意味のある使用法があるかどうか知りたいです。

4

1 に答える 1