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

Czy indeksy zostaną użyte w przypadku zapytania o podzbiór kolumn indeksu?

Dokumentacja MySQL dobrze radzi sobie z wyjaśnieniem, jak działają indeksy wielokolumnowe tutaj .

Ogólnie rzecz biorąc, indeks może być używany dla where klauzula, gdy jakaś liczba kolumn na lewej strona indeksu ma warunki równości. Twój where klauzule używają następujących kolumn:

  • c1, c2
  • c1, c2, c3, c4
  • c1, c2
  • c1, c2, c5

Dowolny indeks zaczynający się od kolumn c1 i c2 normalnie będzie używany do tych zapytań. MySQL może zastosować inne warunki do korzystania z indeksu, takie jak selektywność. To znaczy, jeśli c1 i c2 mają stałe wartości (na przykład), wtedy użycie indeksu nie przyniesie korzyści zapytaniu.

Aby zoptymalizować wszystkie te kombinacje, możesz utworzyć dwa indeksy:c1, c2, c3, c4 i c2, c1, c5 . Powód zamiany c1 i c2 w drugim indeksie jest tak, że możesz obsłużyć zapytania, w których warunek jest na c2 ale nie c1 , a także na odwrót.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Dowiedz się, gdzie jest zainstalowany MySQL w systemie Mac OS X

  2. MySQL — pobierz wartość z innej tabeli, jeśli kolumna ma wartość null

  3. Jak pobrać kategorie i podkategorie w jednym zapytaniu w sql? (mysql)

  4. Połączenie z MySQL z .NET przy użyciu biblioteki SSH.NET

  5. Jak można pobierać ogromne rekordy za pomocą Laravel i MySQL?