Aby automatycznie zabić zapytanie w MySQL po długim czasie wykonania:
-
Utwórz procedurę składowaną jako:
DECLARE CURSOR cur1 FOR SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND = 'Query' AND TIME > 120;
następnie w pętli kursora wykonaj:
FETCH ID INTO @var_kill_id; KILL QUERY @var_kill_id;
-
Utwórz
EVENT FOR EVERY 5 SECONDS
i po prostuCALL
powyższa procedura w nim.
Uwaga:KILL QUERY po prostu zabija zapytanie, a połączenie MySQL nie jest zerwane. zobacz tutaj .