Mysql
 sql >> Datenbank >  >> RDS >> Mysql

SELECT-Anweisung verwendet nicht possible_keys

Irgendetwas sagt mir, dass der MySQL Query Optimizer richtig entschieden hat.

So können Sie es erkennen. Führen Sie diese aus:

Anzahl der Zeilen

SELECT COUNT(1) FROM issued_parts;

Anzahl der Zeilen, die Ihrer Abfrage entsprechen

SELECT COUNT(1) FROM issued_parts WHERE date_issued > '20100101';

Wenn die Anzahl der Zeilen, die Sie tatsächlich abrufen, 5 % der Gesamtzahl der Tabelle übersteigt, entscheidet der MySQL-Abfrageoptimierer, dass ein vollständiger Tabellenscan weniger aufwändig wäre.

Nun, wenn Ihre Abfrage genauer war, zum Beispiel mit diesem:

SELECT * FROM issued_parts WHERE date_issued = '20100101';

dann erhalten Sie einen ganz anderen EXPLAIN-Plan.