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

¿Cómo puedo acelerar una consulta MySQL con cláusulas WHERE en dos columnas?

Debe tener un índice en ambos campos

ALTER TABLE alert_hit ADD INDEX `IDX-alert_id-timestamp` (`alert_id`, `timestamp`);

También MySQL usará el índice de múltiples columnas hasta el primer campo para el cual hay una condición de rango en la cláusula WHERE, por lo que en este caso el orden es importante y timestamp debe ser el último en el índice.

Según lo sugerido por @spencer7593 seleccionando COUNT(1) en lugar de count(id) también podría ser mejor.