Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL:posso limitare il tempo massimo consentito per l'esecuzione di una query?

Aggiorna

A partire da MySQL 5.7, puoi includere un MAX_EXECUTION_TIME suggerimento sull'ottimizzatore nel tuo SELECT query per indicare al server di terminarlo dopo il tempo specificato.

Per quanto ne so, se desideri applicare un timeout a livello di server o se ti interessano query oltre a SELECT s, la risposta originale è ancora la tua unica opzione.

Risposta originale

Non è possibile specificare un tempo massimo di esecuzione quando si invia una query al server per l'esecuzione.

Tuttavia, non è raro avere un lavoro cron che viene eseguito ogni secondo sul server del database, collegandosi e facendo qualcosa del genere:

  1. MOSTRA ELENCO PROCESSO
  2. Trova tutte le connessioni con un tempo di interrogazione maggiore del tempo massimo desiderato
  3. Esegui KILL [id processo] per ciascuno di questi processi