自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(6)
  • 收藏
  • 关注

原创 MySQL事务学习-Gap Lock2

关于事务的隔离级别, 在官方文档中(), 有这么一段描述:在这种情况下,要进行非加锁的读取,可以将事务的隔离级别设置为 READ UNCOMMITTED 或 READ COMMITTED,从而避免对选定表中的行设置锁。以下是GPT的一些总结间隙锁(Gap Lock)确实会受到事务隔离级别的影响,其主要作用是在高隔离级别下保证数据一致性,但这会牺牲一定的并发性。在一些较低的隔离级别中,由于并发性优先,间隙锁会被禁用或部分限制。防止幻读。

2024-12-02 22:55:13 780

原创 MySQL事务学习-Gap Lock1

间隙锁是一种重要的并发控制机制,在特定场景(如范围查询、可重复读隔离级别)下使用,可以有效防止幻读问题。但它也可能对性能和并发造成一定影响,因此需要在设计和调优中合理使用。MySQL 间隙锁行为的实际表现, 可以通过 MySQL 的索引扫描范围和锁定策略来解释。

2024-12-01 21:15:21 1866

原创 MySQL事务学习-2024-11-30

S锁和X锁可用于行级的数据保护,控制数据的读写权限。IS锁和IX锁是表级的意向锁,用于快速判断是否允许对某些行加行级锁。锁兼容性:S锁适用于多事务同时读,但与X锁冲突。IX锁和IS锁之间兼容,但意向锁与表级S锁或X锁可能冲突。

2024-11-30 22:55:17 1993

原创 MySQL事务-2024-11-29

现象揭示了MySQL InnoDB引擎在处理SQL语句和锁机制时一些细致而特殊的行为。这些现象可以从数据类型的转换、记录锁的工作原理,以及InnoDB的实现细节三个层面进行解析。1. VARCHAR主键与WHERE条件中的隐式类型转换在表中,id是VARCHAR类型,SQL语句中使用会锁定整个表的多个记录,而只锁定匹配的行。InnoDB的锁是基于索引的,而索引操作依赖于SQL条件的精确匹配。当id为VARCHAR类型时:使用会正确匹配索引项,并仅对匹配的行加锁。使用。

2024-11-29 23:20:59 1528

原创 Mysql事务学习-2024-11-28

从你的SQL实验现象中,我们可以总结出MySQL中事务和锁机制的以下特性及行为,特别是在1. 锁的作用与排他性共享锁 (S锁):事务A在时,获取了S锁,表明对记录的读取操作希望阻止其他事务对该记录的修改。排他锁 (X锁):事务B试图通过UPDATE操作获取X锁,但因为记录已经被事务A的S锁保护,因此B需要等待A释放锁。在事务A提交之前,事务B只能处于等待状态,体现了InnoDB的严格锁机制。2. 锁与隔离级别的关系隔离级别未改变:从多次查询的结果可知,事务A和事务B都运行在。

2024-11-28 23:00:02 585

原创 Mysql事务学习

下面展示两个事务,事务A和事务B。其中事务A执行查询, 主动在行上添加S锁, 然后直接在上下文再次执行开启事务的命令, 期望开启事务B, 看看会同时开启两个事务吗?BEGIN和是完全等价的事务开启命令。在显式事务中,如果旧事务未提交,开启新事务时会触发旧事务的自动提交。普通的SELECT不会单独创建事务上下文,trx_id保持一致。写操作(如UPDATE)会为每个事务生成新的trx_id,即使内容完全相同。下面展示两个事务,事务A和事务B。其中事务A执行查询, 主动在行上添加S锁。

2024-11-28 21:04:48 926

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除