Medan jag i första hand hjälper min klient med SQL Server Performance Tuning via omfattande databasprestandahälsokontroll , det har funnits tillfällen då jag har hjälpt mina kunder med MySQL Performance när jag vet lösningen. Låt oss diskutera Slow Query och innodb_buffer_pool_size.
Under ett nyligen konsultuppdrag hade klienten en fråga som gick väldigt snabbt i SQL Server men gick väldigt långsamt i MySQL. Kraften i hårdvaran var mycket densamma för båda installationerna. De ville att jag skulle hjälpa dem att förstå varför MySQL-frågan gick så långsamt medan den andra gick väldigt fort.
Vi gjorde en hel del tester och ändrade många konfigurationsparametrar. Men vi var inte särskilt framgångsrika. Efter ett tag tog vi en titt på MySQL-konfigurationsfilen. Du kan hitta MySQL-konfigurationsfilen på platsen här i Linux:/etc/mysql/my.conf
I den här filen hittade vi ett värde innodb_buffer_pool_size och det var inställt på ett mycket långsamt värde. Vi ändrade värdet på denna variabel till ett högre värde (från MB till GB) och vi kunde omedelbart se prestandaförbättringen för frågan. Det var en så enkel lösning på ett problem att vi alla ägnade mycket tid åt att lösa det.
Du kan också hitta värdet på en variabel genom att köra följande skript:
show variables like 'inno%'
Glöm inte att starta om MySQL-tjänster efter att ha ändrat värdet på konfigurationsfilen, annars kommer den inte att få någon effekt.
Om du gillade den här bloggen, glöm inte att prenumerera på min YouTube-kanal – SQL på sextio sekunder .