Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Podczas uruchamiania funkcji EXPLAIN, jeśli wartość pola dla klucza nie jest równa null, ale dodatek jest pusta, czy używany jest klucz?

Using index nie oznacza tego, co myślisz, że oznacza. Jeśli jest obecny w Extra kolumna, oznacza to, że optymalizator w rzeczywistości nie odczytuje całych wierszy, używa indeksu (wyłącznie) do wyszukiwania informacji o kolumnach.

Klucz może być nadal używany do innych celów, na przykład do wykonywania wyszukiwań, jeśli masz WHERE klauzula itp. W konkretnym scenariuszu, na przykład, zniknięcie Using temporary; faktycznie oznacza to, że Twój indeks jest używany, ponieważ MySQL nie musi już zmieniać zawartości Twojej tabeli w nową tabelę tymczasową, aby wykonać GROUP BY .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Klauzula IN w mysql nodejs

  2. dziwne - mysql sql::SQLException nie jest przechwycony przez jego typ, ale przechwycony jako std::exception i pomyślnie odtworzony

  3. grupuj według pierwszego i ostatniego wystąpienia

  4. użycie auto_increment w kluczu złożonym

  5. Maksymalna długość MySQL i GROUP_CONCAT()