[英]innodb_lock_wait_timeout increase timeout
我正在使用MySQL數據庫並嘗試在插入后更新記錄,因此我收到以下錯誤ER_LOCK_WAIT_TIMEOUT: Lock wait timeout exceeded; try restarting transaction
ER_LOCK_WAIT_TIMEOUT: Lock wait timeout exceeded; try restarting transaction
。 所以我通過以下查詢減少超時: -
set GLOBAL innodb_lock_wait_timeout=1
所以我的問題是: - 這樣做可以嗎? 它會導致性能問題等其他問題嗎?
謝謝您的幫助。
如果這是一個Web應用程序,並且您嘗試從一個頁面掛到另一個頁面, 請不要 ; 它不會起作用。
你剛才說的是什么意思? 如果你在兩個語句之間沒有做任何事情,即使超時1秒也應該足夠大。
mysql> SET GLOBAL innodb_lock_wait_timeout = 1;
mysql> SELECT @@innodb_lock_wait_timeout;
+----------------------------+
| @@innodb_lock_wait_timeout |
+----------------------------+
| 50 |
+----------------------------+
mysql> SET SESSION innodb_lock_wait_timeout = 1;
mysql> SELECT @@innodb_lock_wait_timeout;
+----------------------------+
| @@innodb_lock_wait_timeout |
+----------------------------+
| 1 |
+----------------------------+
為VARIABLES解釋GLOBAL vs SESSION:GLOBAL值用於在連接開始時初始化 SESSION值。 之后,您可以更改SESSION值以影響您正在執行的操作。 更改GLOBAL值對您當前的連接沒有影響。
將超時更改為1非常安全(一旦您了解GLOBAL vs SESSION)。 唯一會改變的是獲得該錯誤的頻率。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.