mysqlsnapshotread快照读及currentread当前读与锁lock之一

前言

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

创新互联建站服务项目包括南岸网站建设、南岸网站制作、南岸网页制作以及南岸网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,南岸网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到南岸省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

联系方式

  • 微信公众号

mysql snapshot read快照读及current read当前读与锁lock之一

  • 微信

mysql snapshot read快照读及current read当前读与锁lock之一

目录

snapshot read是否加锁

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


current read加锁2种类型

  •  x   --排它锁

  •  s   --共享锁


current read几种操作场景

mysql snapshot read快照读及current read当前读与锁lock之一

查询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)

本文标题:mysqlsnapshotread快照读及currentread当前读与锁lock之一
路径分享:http://hbruida.cn/article/pehhjo.html