sql >> Databasteknik >  >> RDS >> Mysql

SELECT-satsen använder inte possible_keys

Något säger mig att MySQL Query Optimizer har bestämt sig korrekt.

Så här kan du berätta. Kör dessa:

Antal rader

SELECT COUNT(1) FROM issued_parts;

Antal rader som matchar din fråga

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

Om antalet rader du faktiskt hämtar överstiger 5 % av tabellens totala antal, beslutar MySQL Query Optimizer att det skulle vara mindre ansträngning att göra en fullständig tabellskanning.

Nu, om din fråga var mer exakt, till exempel med detta:

SELECT * FROM issued_parts WHERE date_issued = '20100101';

då får du en helt annan EXPLAIN-plan.



  1. Lära 2 och Många-till-många länktabell med ett extra fält

  2. Laravel Eloquent får resultat grupperade efter dagar

  3. hämta ut parameter från lagrad procedur?

  4. Native JSON-stöd i MYSQL 5.7:vilka är fördelarna och nackdelarna med JSON-datatyp i MYSQL?