Mens jeg primært hjælper min klient med SQL Server Performance Tuning via Comprehensive Database Performance Health Check , der har været øjeblikke, hvor jeg har hjulpet mine kunder med MySQL Performance, når jeg kender løsningen. Lad os diskutere Slow Query og innodb_buffer_pool_size.
Under et nyligt konsulentengagement havde klienten en forespørgsel, der kørte meget hurtigt i SQL Server, men kørte meget langsomt i MySQL. Styrken af hardwaren var meget den samme for både installationen. De ville have mig til at hjælpe dem med at forstå, hvorfor MySQL-forespørgslen kørte så langsomt, mens den anden kørte meget hurtigt.
Vi lavede en del tests og ændrede en masse konfigurationsparametre. Vi fik dog ikke meget succes. Efter et stykke tid tog vi et kig på MySQL-konfigurationsfilen. Du kan finde MySQL-konfigurationsfilen på stedet her i Linux:/etc/mysql/my.conf
I denne fil fandt vi en værdi innodb_buffer_pool_size og den var sat til en meget langsom værdi. Vi ændrede værdien af denne variabel til en højere værdi (fra MB til GB), og vi var med det samme i stand til at se ydelsesforbedringen af forespørgslen. Det var så simpel en løsning på et problem, at vi alle brugte meget tid på at løse det.
Du kan også finde værdien af en variabel ved at køre følgende script:
show variables like 'inno%'
Glem ikke at genstarte MySQL-tjenester efter at have ændret værdien af konfigurationsfilen, ellers træder den ikke i kraft.
Hvis du kunne lide denne blog, så glem ikke at abonnere på min YouTube-kanal – SQL på tres sekunder .