sql >> Databasteknik >  >> RDS >> Mysql

När EXPLAIN körs, om fältvärdet för nyckel inte är null men Extra är tomt, används nyckeln?

Using index betyder inte vad du tror att det betyder. Om det finns i Extra kolumn indikerar det att optimeraren faktiskt inte läser hela raderna, den använder indexet (exklusivt) för att hitta kolumninformation.

Nyckeln kan fortfarande användas för andra saker, till exempel för att utföra uppslagningar om du har en WHERE klausul etc. I ditt specifika scenario, till exempel, försvinner Using temporary; betyder faktiskt att ditt index används, eftersom MySQL inte längre behöver ordna om innehållet i din tabell till en ny temporär tabell för att utföra GROUP BY .




  1. Flytta SQL-data från en tabell till en annan

  2. mysql:Vad är rätt syntax för NOT LIKE?

  3. Hur man representerar Oracle Interval i Java

  4. 50 Shades of Oracle Database Certification Exam