Mysql
 sql >> база данни >  >> RDS >> Mysql

MySQL - мога ли да огранича максималното време, позволено за изпълнение на заявка?

Актуализация

От MySQL 5.7 можете да включите MAX_EXECUTION_TIME намек за оптимизатор във вашия SELECT заявки за инструктиране на сървъра да го прекрати след определеното време.

Доколкото знам, ако искате да наложите изчакване за целия сървър или ако се интересувате от заявки освен SELECT s, оригиналният отговор все още е единствената ви възможност.

Оригинален отговор

Няма начин да посочите максимално време за изпълнение при изпращане на заявка към сървъра за изпълнение.

Въпреки това, не е необичайно да имате задание на cron, което се изпълнява всяка секунда на вашия сървър на база данни, свързвайки се и правейки нещо подобно:

  1. ПОКАЖЕТЕ СПИСЪКА НА ПРОЦЕСИТЕ
  2. Намерете всички връзки с време на заявка, по-голямо от максималното желано време
  3. Изпълнете KILL [идентификатор на процес] за всеки от тези процеси


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ИЗБИРАНЕ с множество условия WHERE в една и съща колона

  2. MySQL – Функции ELT() и FILED() за извличане на позицията на индекса от списъка

  3. Намерете записи от една таблица, които не съществуват в друга

  4. Грешка в MySQL 1436:Превишаване на стека на нишките, с проста заявка

  5. Защо mysqli дава грешка при несинхронизиране на команди?