色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql 鎖等待的超時時間

榮姿康2年前7瀏覽0評論

MySQL是一種流行的關系型數據庫管理系統。當多個用戶嘗試同時訪問相同的數據行時,鎖等待可以發生。鎖等待時,MySQL將嘗試在鎖定表之前等待時間長度內獲取鎖定。若超時,則所有等待的進程將會被迫放棄對該數據行的操作,以便允許其他進程能夠訪問該數據行。

mysql>show variables like "%timeout%";
+----------------------------+----------+
| Variable_name              | Value    |
+----------------------------+----------+
| connect_timeout            | 10       |
| deadlock_timeout_long      | 50000000 |
| deadlock_timeout_short     | 10000    |
| delayed_insert_timeout     | 300      |
| have_statement_timeout     | YES      |
| innodb_flush_log_at_timeout | 1        |
| innodb_lock_wait_timeout   | 50       |
| innodb_rollback_on_timeout | OFF      |
| interactive_timeout        | 600      |
| lock_wait_timeout          | 31536000 |
| net_read_timeout           | 30       |
| net_write_timeout          | 60       |
| rpl_stop_slave_timeout     | 31536000 |
| slave_net_timeout          | 60       |
| wait_timeout               | 600      |
+----------------------------+----------+
15 rows in set (0.01 sec)

上述查詢結果中展示的是MySQL的一些超時參數的默認值。其中,wait_timeout參數會對鎖等待超時時間產生影響。該參數設置客戶端連接的空閑時間長度,如果該客戶端空閑時間超出了設定的值,則MySQL將自動斷開該連接。

mysql>set innodb_lock_wait_timeout=10;
Query OK, 0 rows affected (0.00 sec)
mysql>select * from test where id=1 for update;
ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction

以上代碼展示了如何手動設置表鎖等待超時時間。在查詢時使用了for update鎖定,若鎖等待超過設定的超時時間,則MySQL將返回錯誤信息。