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

Powolne zapytanie MySQL - Oczekiwanie na blokadę pamięci podręcznej zapytań

Rozwiązałem mój problem z wolnymi zapytaniami. Podsumowując problem, zapytanie o 7000 wierszy z 20 mln wierszy i zindeksowanej tabeli 1,7 GB zajęło 22 sekundy. Problem polegał na tym, że pamięć podręczna była zbyt mała i zapytanie musiało trafiać na dysk dla każdego zapytania. Myślałem, że dostęp do dysku byłby szybszy niż to, co widziałem, ponieważ wychodziłem z indeksowanej kolumny, więc ilość danych odczytanych z dysku powinna być niewielka. Ale domyślam się, że dostęp do pamięci InnoDB na dysku wiąże się z dużym obciążeniem.

Po ustawieniu innodb_buffer_pool_size=1024M w pliku my.ini początkowe zapytanie zajęłoby dużo czasu, ale wszystkie kolejne zapytania zakończyłyby się w mniej niż sekundę.

Niestety profilowanie tak naprawdę nie pomogło.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL konwertuje typ danych kolumny z VARCHAR na INT

  2. Jaki jest najlepszy sposób na synchronizację danych między MS Access i MySQL?

  3. Jak podłączyć mySQL w moim projekcie na Androida?

  4. Wstrzyknięcia SQL w ADOdb i ogólne bezpieczeństwo witryny

  5. Wyzwalacz MySQL ustawia wartości dla NOWEGO wiersza i aktualizuje inny w tej samej tabeli