Ich habe meine Tabelle mit einem Index nur für done_status (done_status = INT) eingerichtet:

Wenn ich benutze:
EXPLAIN SELECT * FROM reminder WHERE done_status=2
Ich bekomme das zurück:
id select_type Tabellentyp möglichen_Tasten key key_len ref Zeilen Extra 1 EINFACHE Erinnerung ALL done_status NULL NULL NULL 5 Verwenden von where
Aber wenn ich diesen Befehl gebe:
EXPLAIN SELECT * FROM reminder WHERE done_status=1
Ich bekomme folgendes zurück:
id select_type Tabellentyp möglichen_Tasten key key_len ref Zeilen Extra 1 EINFACHE Erinnerung ref done_status done_status 4 const 2
Das EXPLAINzeigt mir, dass es 5 Zeilen verwendet, das zweite Mal 2 Zeilen.
Ich glaube nicht, dass der Index verwendet wird. Wenn ich ihn beim ersten Mal richtig verstanden habe, sollte er mir 3 Zeilen geben. Was mache ich falsch?
SHOW INDEX FROM reminder::
Tabelle Non_unique Key_name Seq_in_index Column_name Collation Cardinality Sub_part Packed Null Index_type Kommentar Index_comment Erinnerung 1 done_status 1 done_status A 5 NULL NULL BTREE
erklären erweitert:
id select_type Tabellentyp möglichen_Tasten key key_len ref Zeilen gefiltert Extra 1 EINFACHE Erinnerung ref done_status done_status 4 const 2 100.00
show warnings zeigte nichts von Interesse.