sql >> Database teknologi >  >> RDS >> Mysql

Hvordan kan jeg fremskynde en MySQL-forespørgsel med WHERE-sætninger på to kolonner?

Du skal have ét indeks på begge felter

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

MySQL vil også bruge indekset med flere kolonner op til det første felt, for hvilket der er en rækkebetingelse i WHERE-sætningen, så i dette tilfælde betyder rækkefølgen og timestamp skal være sidst i indekset.

Som foreslået af @spencer7593 ved at vælge COUNT(1) i stedet for count(id) kan også være bedre.




  1. Hvilken række (i rækkefølge efter en kolonne) i en tabel svarer til en række i en anden tabel?

  2. Gridview eksisterer ikke i den aktuelle kontekst

  3. PREVIEW:SentryOne Plan Explorer-udvidelse til Azure Data Studio

  4. Django videregiver JSON-data til statisk getJSON/Javascript