mysql 8.0 新特性:NOWAIT以及SKIP LOCKED

编程知识 更新时间:2023-05-02 19:06:06

如新语法的字面含义,NOWAIT表示当无法获取到锁时直接返回错误,而不是等待;SKIP LOCKED表示忽略那些已经被其他session占有行锁的记录。下面看测试:

 

测试 一

session 1 :

mysql> select * from t;
+----+
| a  |
+----+
| 42 |
| 43 |
| 44 |
| 46 |
+----+
4 rows in set (0.00 sec)

mysql> delete from t where a=42;
Query OK, 1 row affected (0.01 sec)

session 2 :会话2 由于获取不到锁而直接报错

mysql> select * from t for update nowait;
ERROR 3572 (HY000): Statement aborted because lock(s) could not be acquired immediately and NOWAIT is set.

 

测试 二

session 1 :

mysql> select * from t;
+----+
| a  |
+----+
| 42 |
| 43 |
| 44 |
| 46 |
+----+
4 rows in set (0.00 sec)

mysql> delete from t where a=42;
Query OK, 1 row affected (0.01 sec)

session 2 :

mysql> select * from t for update skip locked;
+----+
| a  |
+----+
| 43 |
| 44 |
| 46 |
+----+
3 rows in set (0.00 sec)

 

 

更多推荐

mysql 8.0 新特性:NOWAIT以及SKIP LOCKED

本文发布于:2023-04-28 04:38:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/32ac7246722b5b5c05ed62e5de2c3299.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:新特性   mysql   LOCKED   SKIP   NOWAIT

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 107676文章数
  • 27234阅读数
  • 0评论数