Ich habe eine große Tabelle, die rund 7 Millionen Datensätze hat. (MySQL)MySQL mit Index-Ausgabe
Spalten gehen wie;
id | atype | textbody | ....
id Primärschlüssel ist, ist ATYPE Index
wenn I
select * from tablename where `atype`='doit'
es verwendet ATYPE Index ausgeführt werden. (Es gibt 1,7 Millionen doit Zeilen in der Tabelle)
aber wenn ich diese Abfrage ausführen
select * from tablename where `atype`='doit' or `atype`='payment'
es den Index nicht nutzen. Ich sage nur, dass movies_index atype ist. (Es gibt 168 Zahlungszeilen in der Tabelle)
Gibt es eine Erklärung für dieses Verhalten?
Wenn ich diese Abfrage ausführen;
select * from tablename where `atype`='paymentfailed' or `atype`='payment'
Es verwendet Atypeindex.
so, wenn ich 'doit', verwenden Sie es nicht ATYPE Index
Was nützt ein Index ist, wenn Sie versuchen, 1,7 Millionen Datensätze zu greifen? –
Wählen Sie * aus Tabellenname wo 'atype' = 'doit' -> 1,7 Millionen Datensätze wählen Sie * aus Tabellenname wo 'atype' =' Zahlung '-> 168 Datensätze wählen Sie * aus Tabellenname -> 7 Millionen Datensätze –