Mysql
 sql >> Base de données >  >> RDS >> Mysql

Comment puis-je accélérer une requête MySQL avec des clauses WHERE sur deux colonnes ?

Vous devez avoir un index sur les deux champs

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

De plus, MySQL utilisera l'index multi-colonnes jusqu'au premier champ pour lequel il existe une condition de plage dans la clause WHERE, donc dans ce cas, l'ordre est important et timestamp devrait être le dernier dans l'index.

Comme suggéré par @ spencer7593 en sélectionnant COUNT(1) au lieu de count(id) peut-être aussi mieux.