Bien que j'aide principalement mon client avec le réglage des performances de SQL Server via Vérification complète des performances de la base de données , il y a eu des moments où j'ai aidé mes clients avec MySQL Performance alors que je connaissais la solution. Parlons de la requête lente et de innodb_buffer_pool_size.
Au cours d'une récente mission de conseil, le client avait une requête qui s'exécutait très rapidement dans SQL Server, mais très lentement dans MySQL. La puissance du matériel était à peu près la même pour l'installation. Ils voulaient que je les aide à comprendre pourquoi la requête MySQL s'exécutait si lentement alors que l'autre s'exécutait très rapidement.
Nous avons fait pas mal de tests et modifié de nombreux paramètres de configuration. Cependant, nous n'avons pas eu beaucoup de succès. Après un certain temps, nous avons jeté un coup d'œil au fichier de configuration MySQL. Vous pouvez trouver le fichier de configuration MySQL à l'emplacement ici sous Linux :/etc/mysql/my.conf
Dans ce fichier, nous avons trouvé une valeur innodb_buffer_pool_size et il a été réglé sur une valeur très lente. Nous avons modifié la valeur de cette variable pour une valeur plus élevée (de Mo à Go) et nous avons immédiatement pu constater l'amélioration des performances de la requête. C'était une solution si simple à un problème que nous avons tous passé beaucoup de temps à le résoudre.
Vous pouvez également trouver la valeur d'une variable en exécutant le script suivant :
show variables like 'inno%'
N'oubliez pas de redémarrer les services MySQL après avoir modifié la valeur du fichier de configuration, sinon cela n'aura aucun effet.
Si vous avez aimé ce blog, n'oubliez pas de vous abonner à ma chaîne YouTube – SQL en soixante secondes .