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

Indeks złożony MySQL nie jest używany

Krótka odpowiedź:Będziesz w stanie efektywniej korzystać z indeksu, jeśli Twój klucz to (kod konta, data wywołania) zamiast (data wywołania, kod konta).

Najlepszym sposobem na zrozumienie problemu jest myślenie o kluczach wielokolumnowych jako o połączeniu różnych kolumn. Na przykład, jeśli kolumna 1 ma wartości 'A,B,C,D', a kolumna 2 'W,X,Y,Z' skonstruujesz indeks na 'A-W, B-X, C-Y, D-Z' itd. i wstawisz wszystkie tych w B-drzewo.

Aby wykonać zapytanie zakresowe, należy znaleźć pierwszego następcę dolnego końca zakresu i wykonać iterację, aż przekroczysz górny zakres. Oznacza to, że możesz efektywnie użyć indeksu tylko do wykonania zapytania o zakres na sufiksie klucza.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. problem z kodowaniem bazy danych? Wyświetlane są podwójne i pojedyncze cudzysłowy ze znakami zapytania

  2. Porównanie między wtyczką MySQL Clone a Xtrabackup

  3. Zapytanie o zamówienie według ostatnich trzech znaków w kolumnie

  4. Funkcje agregujące MySQL z LEFT JOIN

  5. Przegląd replikacji krzyżowej PostgreSQL i MySQL