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

Når EXPLAIN køres, hvis feltværdien for nøgle ikke er null, men Extra er tom, bruges så nøglen?

Using index betyder ikke, hvad du tror, ​​det betyder. Hvis det er til stede i Extra kolonne, indikerer det, at optimeringsværktøjet faktisk ikke læser hele rækkerne, det bruger indekset (eksklusivt) til at finde kolonneinformation.

Nøglen kan stadig være i brug til andre ting, for eksempel til at udføre opslag, hvis du har en WHERE klausul osv. I dit specifikke scenarie, f.eks. forsvinden af ​​Using temporary; betyder faktisk, at dit indeks bliver brugt, da MySQL ikke længere behøver at omarrangere indholdet af din tabel til en ny midlertidig tabel for at udføre GROUP BY .




  1. Tabel med 80 millioner poster og tilføjelse af et indeks tager mere end 18 timer (eller for evigt)! Hvad nu?

  2. Hvordan bruger jeg en LIKE-klausul i en PDO udarbejdet erklæring?

  3. Left Outer Join returnerer ikke alle rækker fra mit venstre bord?

  4. MYSQL Vælg forespørgsel med SUM()