Ich habe eine Tabelle mit 150k Zeilen von Daten, und ich habe Spalte mit einer UNIQUE INDEX
, Es hat eine Art von VARCHAR(10)
und speichert 10-stellige Kontonummern. JetztMySQL Index manchmal nicht verwendet
, wenn ich frage, wie ein einfacher:
SELECT * FROM table WHERE account_number LIKE '0103%'
Es 30.000+ ROWS führt, und wenn ich eine auf meiner Abfrage ausführen ERKLäRT Es zeigt keinen Index verwendet wird. Aber
, wenn ich tun:
SELECT * FROM table WHERE account_number LIKE '0104%'
Es führt mehr als 4.000 Zeilen mit dem Index verwendet.
Jeder kann das erklären?
I'm using MySQL 5.7 Percona XtraDB.
'30k +/150k'> 20% und ich denke, es ist schneller zu tun Tabelle Scan. – lad2025
Warum wird bei 4k Zeilen Index verwendet? es ist jedoch kleiner als 30k. –
'Warum wird bei 4k Zeilen der Index immer noch nicht benutzt?' Vs 'Es ergeben sich 4.000+ Zeilen mit dem verwendeten INDEX. Bitte entscheiden – lad2025