如何限制 MySQL 中的查詢執行時間?

Mary-Kate Olsen
發布: 2024-11-16 06:29:03
原創
671 人瀏覽過

How Can I Limit Query Execution Time in MySQL?

在 MySQL 中強制執行查詢執行時間限制

問題:我可以設定 MySQL來限制查詢的執行時間?

答案:從歷史上看,MySQL 缺乏限制查詢執行時間的內建機制。但是,最近對 MySQL 5.7 的更新引入了 MAX_EXECUTION_TIME 優化器提示。

MAX_EXECUTION_TIME 最佳化器提示:

從 MySQL 5.7 開始,您可以在 SELECT 查詢中包含 MAX_EXECUTION_TIME 最佳化器提示。此提示指示伺服器在超過指定時間限制時終止查詢。

SELECT * FROM table_name WHERE condition LIMIT 1 MAX_EXECUTION_TIME=10;
登入後複製

伺服器範圍逾時:

如果您需要伺服器範圍逾時或需要限制SELECT 以外的查詢,提供的原始答案仍然是您的最佳選擇。

Cron作業方法:

原始答案建議設定一個 cron 作業,定期檢查並終止任何超過預定義時間限制的查詢。此方法涉及執行以下步驟:

  1. 執行 SHOW PROCESSLIST 以擷取正在執行的進程清單。
  2. 辨識查詢時間超過所需限制的進程。
  3. 使用KILL [process id] 終止有問題的進程

其他注意事項:

雖然MAX_EXECUTION_TIME 提示很方便,但它僅適用於SELECT 查詢,不能在伺服器層級強制執行。 cron 作業方法提供了一個更強大的解決方案,用於對所有查詢類型實施時間限制。

以上是如何限制 MySQL 中的查詢執行時間?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板