匿名用户8.0下的rr 隔离下的锁问题
mysql> create table yue(
-> a int default null,
-> b int default null,
-> c int default null,
-> unique key idx_a(a),
-> key idx_b(b)
mysql> select * from yue;
+------+------+------+
| a | b | c |
+------+------+------+
| 1 | 2 | 3 |
| 2 | 3 | 4 |
| 3 | 4 | 5 |
| 4 | 5 | 6 |
| 5 | 6 | 7 |
| 6 | 7 | 8 |
| 7 | 8 | 8 |
| 8 | 9 | 10 |
| 9 | 10 | 10 |
+------+------+------+
会话 1
begin;
select * from yue where b between 2 and 6 for update;
会话3
mysql> select * from performance_schema.data_locks;
+--------+-----------------------------------------+-----------------------+-----------+----------+---------------+-------------+----------------+-------------------+-----------------+-----------------------+-----------+---------------+-------------+-------------------+
| ENGINE | ENGINE_LOCK_ID | ENGINE_TRANSACTION_ID | THREAD_ID | EVENT_ID | OBJECT_SCHEMA | OBJECT_NAME | PARTITION_NAME | SUBPARTITION_NAME | INDEX_NAME | OBJECT_INSTANCE_BEGIN | LOCK_TYPE | LOCK_MODE | LOCK_STATUS | LOCK_DATA |
+--------+-----------------------------------------+-----------------------+-----------+----------+---------------+-------------+----------------+-------------------+-----------------+-----------------------+-----------+---------------+-------------+-------------------+
| INNODB | 140270552234600:1161:140270477832904 | 15510 | 51 | 447 | dba | yue | NULL | NULL | NULL | 140270477832904 | TABLE | IX | GRANTED | NULL |
| INNODB | 140270552234600:104:6:2:140270477829864 | 15510 | 51 | 447 | dba | yue | NULL | NULL | idx_b | 140270477829864 | RECORD | X | GRANTED | 2, 0x000000000509 |
| INNODB | 140270552234600:104:6:3:140270477829864 | 15510 | 51 | 447 | dba | yue | NULL | NULL | idx_b | 140270477829864 | RECORD | X | GRANTED | 3, 0x00000000050A |
| INNODB | 140270552234600:104:6:4:140270477829864 | 15510 | 51 | 447 | dba | yue | NULL | NULL | idx_b | 140270477829864 | RECORD | X | GRANTED | 4, 0x00000000050B |
| INNODB | 140270552234600:104:6:5:140270477829864 | 15510 | 51 | 447 | dba | yue | NULL | NULL | idx_b | 140270477829864 | RECORD | X | GRANTED | 5, 0x00000000050C |
| INNODB | 140270552234600:104:6:6:140270477829864 | 15510 | 51 | 447 | dba | yue | NULL | NULL | idx_b | 140270477829864 | RECORD | X | GRANTED | 6, 0x00000000050D |
| INNODB | 140270552234600:104:6:7:140270477829864 | 15510 | 51 | 447 | dba | yue | NULL | NULL | idx_b | 140270477829864 | RECORD | X | GRANTED | 7, 0x00000000050E |
这里有给记录7 加锁了
为啥再会话2,可以插入insert into yue select 10,7,2 ;
墨值悬赏

评论
