Ben sadece done_status (done_status = INT) bir dizin ile benim tablo ayarladım:
Kullandığımda:
EXPLAIN SELECT * FROM reminder WHERE done_status=2
Bunu geri alıyorum:
id select_type tablo tipi possible_keys anahtar key_len ref satırları Ekstra 1 BASİT hatırlatma TÜM done_status NULL NULL NULL 5 Nerede kullanma
Ama bu komutu verdiğimde:
EXPLAIN SELECT * FROM reminder WHERE done_status=1
Aşağıdaki iade olsun:
id select_type tablo tipi possible_keys anahtar key_len ref satırları Ekstra 1 BASİT hatırlatma ref done_status done_status 4 sabit 2
EXPLAIN
Gösterileri beni o 5 satır, ikinci kez 2 satır kullandığı.
Endeksin kullanıldığını sanmıyorum, eğer doğru anladıysam bana 3 satır vermeli. Neyi yanlış yapıyorum?
SHOW INDEX FROM reminder
:
Tablo Non_unique Anahtar_adı Seq_in_index Sütun_adı Harmanlama Kardinalite Alt_bölüm Paketli Boş Dizin_türü Açıklama Dizin_komut hatırlatma 1 done_status 1 done_status A 5 NULL NULL BTREE
Genişletilmiş açıklama:
id select_type tablo tipi possible_keys anahtar key_len ref satırları filtrelendi Ekstra 1 BASİT hatırlatma ref done_status done_status 4 sabit 2 100.00
show warnings
ilgi çekici bir şey göstermedi.