sql >> Databáze >  >> RDS >> Mysql

MySQL – mohu omezit maximální povolenou dobu pro spuštění dotazu?

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:

  1. ZOBRAZIT SEZNAM PROCESŮ
  2. Najděte všechna spojení s dobou dotazu delší, než je vaše maximální požadovaná doba
  3. Spusťte KILL [process id] pro každý z těchto procesů


  1. Tipy pro používání SQL Serveru se Salesforce SOQL

  2. Preferovaný způsob ukládání hesel v databázi

  3. izolování dílčího řetězce v řetězci před symbolem v SQL Server 2008

  4. Průvodce Pgpool pro PostgreSQL:Část první