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

Zapytanie MySQL boleśnie powolne na dużych ilościach danych

Optymalizuj tabelę

Aby ustalić punkt odniesienia, najpierw polecam uruchomienie OPTIMIZE TABLE polecenie na obu tabelach. Pamiętaj, że może to zająć trochę czasu. Z dokumentacji :

Indeksowanie

Jeśli zarządzanie przestrzenią i indeksem nie jest problemem, możesz spróbować dodać indeks złożony na

product_categories.cat4, product_categories.cat3, product_categories.cat2, product_categories.cat1

Byłoby to zalecane, jeśli używasz skrajnego lewego podzbioru tych kolumn często w swoich zapytaniach. Plan zapytania wskazuje, że może użyć cat1 indeks product_categories . Najprawdopodobniej obejmuje to tylko cat1 kolumna. Dodając wszystkie cztery kolumny kategorii do indeksu, można wydajniej wyszukiwać żądane wiersze. Z dokumentacji :

Struktura

Ponadto, biorąc pod uwagę, że Twoja tabela ma 90 kolumn należy również pamiętać, że szersza tabela może prowadzić do wolniejszej wydajności zapytań . Możesz rozważyć partycjonowanie pionowe Twój stół do wielu stołów:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. zapytanie mysql dla wszystkich rekordów, których nie ma dzisiaj

  2. Jak zrzucić tylko określone tabele z MySQL?

  3. Składnia MySQL dla Dołącz do aktualizacji

  4. Nie można zainicjować dostawcy. Brakujący lub niepoprawny schemat

  5. ln:/usr/lib/libmysqlclient.18.dylib:Plik istnieje