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

Wydajność MySQL — wolne zapytania i innodb_buffer_pool_size

Chociaż przede wszystkim pomagam mojemu klientowi w dostrajaniu wydajności programu SQL Server za pomocą kompleksowej kontroli stanu wydajności bazy danych , były chwile, kiedy pomogłem moim klientom z MySQL Performance, gdy znam rozwiązanie. Omówmy Slow Query i innodb_buffer_pool_size.

Podczas niedawnego zaangażowania w konsulting, zapytanie klienta działało bardzo szybko w SQL Server, ale działało bardzo wolno w MySQL. Moc sprzętu była bardzo podobna dla obu instalacji. Chcieli, żebym pomógł im zrozumieć, dlaczego zapytanie MySQL działało tak wolno, podczas gdy drugie działało bardzo szybko.

Przeprowadziliśmy sporo testów i zmieniliśmy wiele parametrów konfiguracyjnych. Nie odnieśliśmy jednak większego sukcesu. Po chwili przyjrzeliśmy się plikowi konfiguracyjnemu MySQL. Plik konfiguracyjny MySQL można znaleźć w lokalizacji tutaj w systemie Linux:/etc/mysql/my.conf

W tym pliku znaleźliśmy wartość innodb_buffer_pool_size i był ustawiony na bardzo powolną wartość. Zmieniliśmy wartość tej zmiennej na wyższą (z MB na GB) i od razu zauważyliśmy poprawę wydajności zapytania. To było tak proste rozwiązanie problemu, że wszyscy spędziliśmy dużo czasu na jego rozwiązywaniu.

Możesz również znaleźć wartość zmiennej, uruchamiając następujący skrypt:

show variables like 'inno%'

Nie zapomnij ponownie uruchomić usług MySQL po zmianie wartości pliku konfiguracyjnego, w przeciwnym razie nie przyniesie to żadnego efektu.

Jeśli podobał Ci się ten blog, nie zapomnij zasubskrybować mojego kanału YouTube – SQL w sześćdziesiąt sekund .


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Uruchomić zapytanie mySQL jako zadanie cron?

  2. Raportowanie błędów przygotowanych przez MySQLi

  3. Fałszywe ograniczenie klucza obcego nie działa

  4. Czy istnieje prosty sposób na przekonwertowanie danych MySQL do tytułu tytułowego?

  5. Jaka jest różnica między MySQL a SQL?