Poniendo un índice en un campo de fecha en MySQL
-
27-09-2019 - |
Pregunta
¿Hay va a ser ningún beneficio real para mí poner índices a los campos de fecha que se van a utilizar principalmente en consultas usando cosas por el estilo.
dateField < 'var'
y
'var' BETWEEN dateField1 AND dateField2
Las búsquedas conseguir hecho mucho, pero nunca estoy haciendo una comparación directa "=" en ellos.
Solución
Sí, por supuesto. búsquedas por rango se beneficiarán de un índice, tanto como las búsquedas de igualdad.
MySQL Manual de referencia :: ¿Cómo utiliza MySQL los índices :
Características árbol B Índice
Un índice de árbol B se puede utilizar para las comparaciones de las columnas en las expresiones que utilizan el =,>,> =, <, <=, o entre operadores. El índice también se puede utilizar para comparaciones como si el argumento de LIKE es una cadena constante que no se inicia con un carácter comodín.
En algunas situaciones, el optimizador puede decidir no utilizar el índice si el rango va a terminar siendo demasiado grande, como un recorrido de tabla en realidad podría ser más rápido. Uso EXPLAIN
para ver cuál (si los hay) los índices se utilizará en su consulta.