強制執行MySQL 查詢的執行時間限制
執行MySQL 查詢時,您可能會遇到不希望出現過多執行時間的情況。為了緩解這個問題,MySQL 引入了一種為某些查詢設定最大執行限制的機制。
如何設定執行時間限制
從MySQL 5.7.4 開始,您可以使用MAX_EXECUTION_TIME 提示指定執行時間限制(以毫秒為單位):
SELECT /*+ MAX_EXECUTION_TIME(1000) */ * FROM table;
其中1000 表示最大時間(以毫秒為單位)。但是,此提示僅適用於唯讀 SELECT 語句。
MySQL 5.7.8 中的重新命名變數
在 MySQL 5.7.8 中,此提示已重新命名為 max_execution_time 。因此,修改後的查詢將變為:
SELECT /*+ max_execution_time(1000) */ * FROM table;
限制
需要注意的是,此執行時間限制僅適用於最外面的 SELECT 語句。如果查詢包含巢狀查詢或子查詢,則該限制可能不會被繼承。此外,此功能不適用於 INSERT、UPDATE 或 DELETE 語句等其他運算。
結論
透過使用 MAX_EXECUTION_TIME 提示,您可以控制最大時間MySQL 花費執行某些只讀 SELECT 查詢的時間。這有助於防止失控查詢獨佔伺服器資源,並確保在執行時間至關重要的場景中獲得更好的效能。
以上是如何強制執行 MySQL 查詢的時間限制?的詳細內容。更多資訊請關注PHP中文網其他相關文章!