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

Czy powinienem poświęcić mój innodb_buufer_pool _size/RAM, aby zrobić miejsce na query_cache_size ?

W czerwcu 2014 odpowiedziałem https://dba.stackexchange.com/questions/66774/why-query-cache-type-is-disabled-by-default-start-from-mysql-5 -6/66796#66796

W tym poście omówiłem, w jaki sposób InnoDB zarządza zmianami między pulą buforów InnoDB a pamięcią podręczną zapytań.

NIE KORZYSTAJĄC Z PAMIĘCI PODRĘCZNEJ ZAPYTAŃ

Najprostszą odpowiedzią byłoby wyłączenie pamięci podręcznej zapytań, ale jest pewien haczyk:musisz ustawić oba query_cache_size i query_cache_type do zera(0).

Jeśli nie ustawisz query_cache_type do zera (0) mikrozarządzanie zmianami nadal zachodzi. Potwierdza to paragraf 8 MySQL Dokumentacja „Konfiguracja pamięci podręcznej zapytań” mówi

KORZYSTANIE Z PAMIĘCI PODRĘCZNEJ ZAPYTAŃ

Jeśli naprawdę chcesz korzystać z pamięci podręcznej zapytań, musisz przestudiować swoje dane. Zasadniczo musisz znać rozmiar swoich wyników. Następnie ustaw query_cache_limit i query_cache_min_res_unit aby pomieścić zestaw wyników średniego rozmiaru, a także zestaw wyników maksymalnego rozmiaru.

Alternatywnie możesz włączyć pamięć podręczną zapytań globalnie, ale wyłączyć jej użycie z sesji bazy danych, jak podano w Paragraf 9 :

TWOJE AKTUALNE PYTANIE

Pamięć podręczna zapytań, pula buforów InnoDB, wątki na połączenie (zobacz mój post https://dba.stackexchange.com/questions/16969/jak-costly-otwiera-i-zamykanie-połączenia-db/ 16973#16973 ) i system operacyjny konkurują o pamięć RAM.

Patrząc tylko na pamięć podręczną zapytań i pulę buforów InnoDB, musisz zobaczyć, ile miejsca jest wolne w puli buforów InnoDB po kilku dniach lub tygodniach działania MySQL.

Możesz uruchomić to zapytanie

SELECT variable_value / 64 free_mb
FROM information_schema.global_status
WHERE variable_name='Innodb_buffer_pool_pages_free';

Dzięki temu dowiesz się, o ile możesz obniżyć pulę buforów InnoDB. Możesz wtedy zwiększyć pamięć podręczną zapytań o ten rozmiar. Jeśli to zapytanie zwraca mniej niż 1024, prawdopodobnie nie jest warte wysiłku. Dostaniesz dodatkowe miejsce z pamięci RAM lub po prostu wyłączysz pamięć podręczną zapytań.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sprawdzone metody:śledzenie wyświetleń banerów

  2. dostępność pokoi w hotelu mysql

  3. Jak zmienić rozmiar kolumny w MySQL?

  4. Jak utworzyć hierarchiczne rekurencyjne zapytanie MySQL?

  5. mysql dołącza do dwóch tabel z identyfikatorami oddzielonymi przecinkami