Opdatering
Fra og med MySQL 5.7 kan du inkludere en MAX_EXECUTION_TIME
optimeringstip i din SELECT
forespørgsler for at instruere serveren om at afslutte den efter det angivne tidspunkt.
Så vidt jeg ved, hvis du ønsker at gennemtvinge en server-dækkende timeout, eller hvis du bekymrer dig om forespørgsler udover SELECT
s, det originale svar er stadig din eneste mulighed.
Oprindeligt svar
Der er ingen måde at angive en maksimal køretid, når du sender en forespørgsel til serveren, der skal køres.
Det er dog ikke ualmindeligt at have et cron-job, der kører hvert sekund på din databaseserver, forbinder og gør noget som dette:
- VIS PROCESLISTE
- Find alle forbindelser med en forespørgselstid, der er længere end din maksimale ønskede tid
- Kør KILL [proces-id] for hver af disse processer