mysql无锁查询快照读_mysql snapshot read快照读及current read当前读与锁lock之一

前言

mysql读操作分为2种类型:snapshot read及current read,前者基于mysql mvcc实现,读取数据块是undo block,后者是基于当前数据块。这2种不同的读取类型与锁的关系是什么,本文作一点儿简要的记录。

联系方式

微信公众号

微信

目录

snapshot read是否加锁

snapshot read由于操作非当前数据块,不会加锁

current read加锁2种类型

x --排它锁

s --共享锁

current read几种操作场景

b48c1b3b6b9776c14557670199fe0ddf.png

查询current read不同操作场景持锁语句

(注:关注列lock_mode)

mysql> select * from information_schema.innodb_locks;

+-------------------------+-----------------+-----------+-----------+------------------+-----------------+------------+-----------+----------+----------------+

| lock_id                 | lock_trx_id     | lock_mode | lock_type | lock_table       | lock_index      | lock_space | lock_page | lock_rec | lock_data      |

+-------------------------+-----------------+-----------+-----------+------------------+-----------------+------------+-----------+----------+----------------+

| 11909:473:3:2           | 11909           | X         | RECORD    | `zxydb`.`t_read` | GEN_CLUST_INDEX |        473 |         3 |        2 | 0x00000836F561 |

| 421207096970864:473:3:2 | 421207096970864 | S         | RECORD    | `zxydb`.`t_read` | GEN_CLUST_INDEX |        473 |         3 |        2 | 0x00000836F561 |

+-------------------------+-----------------+-----------+-----------+------------------+-----------------+------------+-----------+----------+----------------+

2 rows in set, 1 warning (0.00 sec)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值