sql >> Base de Datos >  >> RDS >> Mysql

¿Cómo se crea un índice en la parte de la fecha del campo DATETIME en MySql?

Si no recuerdo mal, eso ejecutará un escaneo de tabla completo porque está pasando la columna a través de una función. MySQL ejecutará obedientemente la función para todas y cada una de las columnas, sin pasar por el índice, ya que el optimizador de consultas no puede saber realmente los resultados de la función.

Lo que haría es algo como:

SELECT * FROM transactionlist 
WHERE TranDateTime BETWEEN '2008-08-17' AND '2008-08-17 23:59:59.999999';

Eso debería darte todo lo que sucedió el 2008-08-17.