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

Dlaczego indeks może spowalniać zapytanie?

Ponieważ nadal musisz odczytać wszystkie dane z indeksu + pliku danych. Ponieważ nie używasz żadnego where warunek - zawsze będziesz mieć plan zapytań, który będzie miał dostęp do wszystkich danych wiersz po wierszu i nie możesz nic z tym zrobić.

Jeśli wydajność jest ważna dla tego zapytania i jest ono wykonywane często - sugeruję buforowanie wyników w jakiejś tymczasowej tabeli i aktualizowanie jej co godzinę (codziennie itp.).

Dlaczego staje się wolniejsze:ponieważ w indeksie dane są już posortowane i kiedy mysql oblicza koszt wykonania zapytania, uważa, że ​​lepiej będzie użyć już posortowanych danych, a następnie je pogrupować, a następnie przeliczyć agregaty. Ale tak nie jest w tym przypadku.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. tworzenie połączenia w eclipse - ClassNotFoundException:com.mysql.jdbc.Driver

  2. Problemy z typem treści podczas ładowania urządzenia w Django

  3. Jaki jest kanoniczny sposób pobrania rekordu z bazy danych MySQL, który ma najmniejsze/największe pole?

  4. MySQL:Po co określać szerokość wyświetlania bez używania zerowego wypełnienia?

  5. PHP SQL STMT WYBIERZ wiele LIKE ? Czy to możliwe?