Quelle est la différence réelle entre wait_timeout
et interactive_timeout
?
interactive_time
est pour les sessions interactives, tandis que wait_timeout
pour les sessions non interactives.
Qu'est-ce qu'une session interactive? C'est un avec un humain au clavier.
Lorsque votre code se connecte à MySQL, exécute une requête et passe ensuite 3 secondes à traiter cette requête avant de se déconnecter, cela fait 3 secondes de la wait_timeout
.
Lorsque vous utilisez le mysql
client de ligne de commande pour vous connecter, exécutez une commande et passez 10 secondes à lire la sortie, soit 10 secondes interactive_timeout
. Si vous vous éloignez et déjeunez, cela fait 3600 secondes interactive_timeout
.
Dans les deux cas, lorsque vous ou votre code exécutez une autre requête, le temps d'attente est réinitialisé à 0.
Vous pouvez voir les valeurs de toutes les sessions en cours en tapant show processlist
. Les valeurs de la sleep(5)
fonction sont le nombre de secondes écoulées depuis la dernière connexion.