Aktualizovat
Od MySQL 5.7 můžete zahrnout MAX_EXECUTION_TIME
nápověda k optimalizaci ve vašem SELECT
dotazy, aby dal serveru pokyn, aby jej po zadané době ukončil.
Pokud vím, pokud chcete vynutit časový limit na celém serveru nebo pokud vás zajímá kromě SELECT
dotazy s, původní odpověď je stále vaší jedinou možností.
Původní odpověď
Neexistuje způsob, jak určit maximální dobu běhu při odesílání dotazu na server ke spuštění.
Není však neobvyklé mít úlohu cron, která běží každou sekundu na vašem databázovém serveru, připojuje se a dělá něco takového:
- ZOBRAZIT SEZNAM PROCESŮ
- Najděte všechna spojení s dobou dotazu delší, než je vaše maximální požadovaná doba
- Spusťte KILL [process id] pro každý z těchto procesů