Mysql
 sql >> Base de données >  >> RDS >> Mysql

Requête lente MySQL - En attente du verrouillage du cache de requête

J'ai résolu mon problème de requête lente. Pour résumer le problème, il fallait 22 secondes pour interroger 7 000 lignes à partir d'une table indexée de 20 millions de lignes et de 1,7 Go. Le problème était que le cache était trop petit et que la requête devait aller sur le disque pour chaque requête. Je pense que l'accès au disque serait plus rapide que ce que je voyais parce que je sortais d'une colonne indexée, donc la quantité de données lues sur le disque aurait dû être petite. Mais je suppose qu'il y a beaucoup de surcharge avec l'accès au stockage InnoDB sur disque.

Une fois que j'ai défini innodb_buffer_pool_size=1024M dans le fichier my.ini, la requête initiale prendrait beaucoup de temps, mais toutes les requêtes suivantes se termineraient en moins d'une seconde.

Malheureusement, le profilage n'a pas vraiment aidé.