Bijwerken
Vanaf MySQL 5.7 kunt u een MAX_EXECUTION_TIME
optimalisatie hint in uw SELECT
vragen om de server opdracht te geven het na de opgegeven tijd te beëindigen.
Voor zover ik weet, als je een serverbrede time-out wilt afdwingen, of als je naast SELECT
ook vragen hebt, s, het oorspronkelijke antwoord is nog steeds uw enige optie.
Oorspronkelijk antwoord
Er is geen manier om een maximale runtime op te geven wanneer een query naar de server wordt gestuurd om uit te voeren.
Het is echter niet ongebruikelijk om een cron-taak te hebben die elke seconde op uw databaseserver wordt uitgevoerd, waarbij u verbinding maakt en zoiets als dit doet:
- PROCESSLIJST TONEN
- Vind alle connecties met een zoektijd die groter is dan de maximaal gewenste tijd
- Voer KILL [proces-id] uit voor elk van die processen