Актуализация
От MySQL 5.7 можете да включите MAX_EXECUTION_TIME
намек за оптимизатор във вашия SELECT
заявки за инструктиране на сървъра да го прекрати след определеното време.
Доколкото знам, ако искате да наложите изчакване за целия сървър или ако се интересувате от заявки освен SELECT
s, оригиналният отговор все още е единствената ви възможност.
Оригинален отговор
Няма начин да посочите максимално време за изпълнение при изпращане на заявка към сървъра за изпълнение.
Въпреки това, не е необичайно да имате задание на cron, което се изпълнява всяка секунда на вашия сървър на база данни, свързвайки се и правейки нещо подобно:
- ПОКАЖЕТЕ СПИСЪКА НА ПРОЦЕСИТЕ
- Намерете всички връзки с време на заявка, по-голямо от максималното желано време
- Изпълнете KILL [идентификатор на процес] за всеки от тези процеси