Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Der MySQL-Datetime-Index funktioniert nicht, wenn „like“ verwendet wird

In MySQL die DATETIME Typ wird intern als 8-Byte-Zahl gespeichert und nicht als Textstring. Daher ist der Index, den Sie im moment erstellt haben -Spalte funktioniert, um einen bestimmten numerischen Datums-Wert nachzuschlagen .

In Ihrer Abfrage:

SELECT * FROM index_test WHERE moment LIKE '2015-06-08%'

die MySQL-Engine wirft zuerst implizit den moment Spalte zu einem VARCHAR eingeben und dann den Vergleich mit '2015-06-08%' durchführen .