Risposte:
interactive_time
è per sessioni interattive, mentre wait_timeout
è per sessioni non interattive.
Che cos'è una sessione interattiva? È uno con un essere umano alla tastiera.
Quando il codice si connette a MySQL, esegue una query e quindi impiega 3 secondi a elaborarla prima di disconnettersi, ovvero 3 secondi dal wait_timeout
.
Quando si utilizza il mysql
client della riga di comando per connettersi, eseguire un comando e passare 10 secondi a leggere l'output, ovvero 10 secondi di interactive_timeout
. Se vai via e pranzi, sono 3600 secondi interactive_timeout
.
In entrambi i casi, quando tu o il tuo codice eseguite un'altra query, il tempo di attesa viene riportato a 0.
È possibile visualizzare i valori per tutte le sessioni correnti digitando show processlist
. I valori nella sleep(5)
funzione sono il numero di secondi dall'ultima volta che la connessione ha fatto qualcosa.