Mysql
 sql >> Database >  >> RDS >> Mysql

Prestazioni MySQL:query lente e innodb_buffer_pool_size

Mentre principalmente aiuto il mio cliente con l'ottimizzazione delle prestazioni di SQL Server tramite Controllo completo dello stato delle prestazioni del database , ci sono stati momenti in cui ho aiutato i miei clienti con MySQL Performance quando ho conosciuto la soluzione. Parliamo di Slow Query e di innodb_buffer_pool_size.

Durante un recente impegno di consulenza, il client aveva una query eseguita molto velocemente in SQL Server ma molto lenta in MySQL. La potenza dell'hardware era praticamente la stessa per entrambe le installazioni. Volevano che li aiutassi a capire perché la query MySQL era così lenta mentre l'altra era molto veloce.

Abbiamo fatto parecchi test e modificato molti parametri di configurazione. Tuttavia, non abbiamo avuto molto successo. Dopo un po', abbiamo dato un'occhiata al file di configurazione di MySQL. Puoi trovare il file di configurazione di MySQL nella posizione qui in Linux:/etc/mysql/my.conf

In questo file abbiamo trovato un valore innodb_buffer_pool_size ed è stato impostato su un valore molto lento. Abbiamo modificato il valore di questa variabile in un valore più alto (da MB a GB) e siamo stati immediatamente in grado di vedere il miglioramento delle prestazioni della query. È stata una soluzione così semplice a un problema che abbiamo dedicato molto tempo a risolverlo.

Puoi anche trovare il valore di una variabile eseguendo il seguente script:

show variables like 'inno%'

Non dimenticare di riavviare i servizi MySQL dopo aver modificato il valore del file di configurazione o non avrà alcun effetto.

Se ti è piaciuto questo blog, non dimenticare di iscriverti al mio canale YouTube: SQL in sessanta secondi .