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

Как да ограничим времето за изпълнение на sql

За автоматично унищожаване на заявка в MySQL след дълго време на изпълнение:

  1. Създайте съхранена процедура като:

    DECLARE CURSOR cur1 FOR SELECT ID 
                        FROM INFORMATION_SCHEMA.PROCESSLIST 
                        WHERE COMMAND = 'Query' AND TIME > 120;
    

    след това вътре в цикъла на curosr направете:

    FETCH ID INTO @var_kill_id;
    KILL QUERY @var_kill_id;
    
  2. Създайте EVENT FOR EVERY 5 SECONDS и просто CALL горната процедура вътре в него.

Забележка:KILL QUERY просто убива заявката и MySQL връзката не е прекъсната. вижте тук .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysqli последното вмъкване на идентификатор

  2. Поръчайте с полски букви

  3. MySQL скриптовете в docker-entrypoint-initdb не се изпълняват

  4. Неизвестна колона в подзаявката на mysql

  5. Вземете сумата на MySQL колоната в PHP