Uppdatera
Från och med MySQL 5.7 kan du inkludera en MAX_EXECUTION_TIME
optimeringstips i din SELECT
frågor för att instruera servern att avsluta den efter den angivna tiden.
Så vitt jag vet, om du vill genomdriva en serveromfattande timeout, eller om du bryr dig om frågor förutom SELECT
s, det ursprungliga svaret är fortfarande ditt enda alternativ.
Originalt svar
Det finns inget sätt att ange en maximal körtid när du skickar en fråga till servern som ska köras.
Det är dock inte ovanligt att ha ett cron-jobb som körs varje sekund på din databasserver, ansluter och gör något så här:
- VISA PROCESSLISTA
- Hitta alla anslutningar med en frågetid som är längre än din maximala önskade tid
- Kör KILL [process-id] för var och en av dessa processer