重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
MySQL读操作分为2种类型:snapshot read及current read,前者基于mysql mvcc实现,读取数据块是undo block,后者是基于当前数据块。这2种不同的读取类型与锁的关系是什么,本文作一点儿简要的记录。
创新互联建站服务项目包括南岸网站建设、南岸网站制作、南岸网页制作以及南岸网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,南岸网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到南岸省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!
微信公众号
微信
snapshot read由于操作非当前数据块,不会加锁
x --排它锁
s --共享锁
查询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)