Sådan slår du en forespørgsel automatisk i MySQL efter en lang udførelsestid:
-
Opret en lagret procedure som:
DECLARE CURSOR cur1 FOR SELECT ID FROM INFORMATION_SCHEMA.PROCESSLIST WHERE COMMAND = 'Query' AND TIME > 120;
derefter inde i curosr's loop gør:
FETCH ID INTO @var_kill_id; KILL QUERY @var_kill_id;
-
Opret
EVENT FOR EVERY 5 SECONDS
og bareCALL
ovenstående procedure inde i den.
Bemærk:KILL QUERY dræber bare forespørgslen, og MySQL-forbindelsen er ikke brudt. se her .