例がそれを最もよく説明しています:
SELECT Year, Make --- possibly more fields and/or from extra tables
FROM myUsedCarInventory
WHERE Make = 'Toyota' AND Year > '2006'
Assuming the Available indexes are:
CarId
VIN
Make
Make and Year
このクエリは、必要がないため、「インデックスの使用」で説明します。 、「Make and Year」インデックスが、そのテーブルに関連するWHERE句の要素に関してその必要性を「カバー」するため、myUsedCarInventoryテーブル自体を「ヒット」する 。
ここで、クエリを同じに保ちますが、色に条件を追加することを想像してみてください
...
WHERE Make = 'Toyota' AND Year > '2006' AND Color = 'Red'
このクエリは、「インデックス条件の使用」でEXPLAINを実行する可能性があります(「可能性が高い」。これは、Toyota + yearが十分に選択的であると推定されず、オプティマイザがテーブルをスキャンすることを決定する場合です)。これは、MySQLが最初になることを意味します インデックスを使用してMake+Yearを解決すると、テーブル内の対応する行も検索する必要があります。のみ Make+Year条件を満たす行。これは、「最適化をプッシュダウン "。