В чем разница между wait_timeout
и interactive_timeout
?
interactive_time
предназначен для интерактивных сеансов, тогда как wait_timeout
предназначен для неинтерактивных сеансов.
Что такое интерактивный сеанс? Это один с человеком за клавиатурой.
Когда ваш код подключается к MySQL, запускает запрос, а затем тратит 3 секунды на обработку этого запроса перед отключением, это 3 секунды wait_timeout
.
Когда вы используете mysql
клиент командной строки для подключения, запустить команду и потратить 10 секунд на чтение вывода, что составляет 10 секунд interactive_timeout
. Если вы уйдете и пообедаете, это 3600 секунд interactive_timeout
.
В обоих случаях, когда вы или ваш код запускаете другой запрос, время ожидания сбрасывается обратно на 0.
Вы можете увидеть значения для всех текущих сеансов, набрав show processlist
. Значения в sleep(5)
функция - это количество секунд с момента последнего выполнения каких-либо действий.