Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

268
Vistas
mysql con consulta de función de fecha funcionando lentamente

Encontré algo extraño mientras ejecutaba la consulta hoy y quiero saber cómo sucede esto.

A continuación se muestra mi consulta:

 select sum(price) as total from table_a where testing_date = '2020-06-10'

esta consulta tarda de 2 a 5 segundos mientras busca los datos. Ahora hice un pequeño cambio en la consulta de la siguiente manera:

 select sum(price) as total from table_a where date(testing_date) = '2020-06-10'

En este caso, la consulta tarda de 2 a 3 minutos. Aquí los datos de la columna testing_date en formato dateTime, por ejemplo: 2020-06-01 00:00:00

Aquí el tamaño total de los registros es más de 7 millones.

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

No use una función en la columna en la que filtra. Esto hace que la consulta no sea SARGeable, lo que significa que la base de datos no puede aprovechar un índice existente. Básicamente, está obligando a la base de datos a realizar el cálculo en todos y cada uno de los valores de la columna antes de que se produzca el filtrado.

Si desea filtrar en un día determinado, puede usar desigualdades con intervalos semiabiertos:

 where testing_date >= '2020-06-10' and testing_date < '2020-06-11'
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda