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

Fecha y hora frente a fecha y hora Mysql

Hay una gran diferencia en el rendimiento cuando se usa el campo FECHA sobre el campo FECHA HORA. Tengo una tabla con más de 4.000.000 de registros y, con fines de prueba, agregué 2 campos con su propio índice. Uno usando DATETIME y el otro campo usando DATE.

Deshabilité la caché de consultas de MySQL para poder probar correctamente y recorrí la misma consulta para 1000x:

SELECT * FROM `logs` WHERE `dt` BETWEEN '2015-04-01' AND '2015-05-01' LIMIT 10000,10; ÍNDICE DE FECHA Y HORA:197,564 segundos.

SELECT * FROM `logs` WHERE `d` BETWEEN '2015-04-01' AND '2015-05-01' LIMIT 10000,10; ÍNDICE DE FECHA:107,577 segundos.

El uso de un campo indexado por fecha tiene una mejora de rendimiento de:45,55 %!!

Entonces diría que si espera una gran cantidad de datos en su tabla, considere separar la fecha de la hora con su propio índice.