に関するMySQLのドキュメントによるとOptimizing Queries With Explain
:
* ALL: 前のテーブルの行の組み合わせごとに、フル テーブル スキャンが実行されます。テーブルが const とマークされていない最初のテーブルである場合、これは通常良くありません。通常、他のすべての場合は非常に悪いです。通常、定数値または以前のテーブルの列値に基づいてテーブルから行を取得できるインデックスを追加することで、ALL を回避できます。
これは、ALL を使用するクエリを最適化して、完全なテーブル スキャンを実行しないようにすることを意味しますか?
つまり、テーブルに正しいインデックスを追加することで、常に ALL の使用を避けることができるのでしょうか? または、追加するインデックスに関係なく、ALL が避けられない場合がありますか?