MySQL的锁机制 - 记录锁、间隙锁、临键锁
https://zhuanlan.zhihu.com/p/48269420
https://blog.csdn.net/yudiandemingzi/article/details/121521048
左开右闭”是指区间不包括左边的内容,但是涵盖右边的内容。
例如(2,3]是指大于2但是小于等于3的实数合集,又比如区间(10, 20)表示所有在10和20之间的实数,但不包括10或20。另一方面,[10, 20]表示所有在10和20之间的实数,以及10和20。
如何理解左闭右开
开闭区间是一个数学概念,开区间使用符号小括号()
表示,闭区间使用符号中括号[]
表示,闭区间包含了两个端点,而开区间则不包含两个端点
一共四种情况:
(a,b):区间范围内,不包含a和b
[a,b]:区间范围内,包含a,也包含b
(a,b]:区间范围内,不包含a,包含b
[a,b):区间范围内,包含a,不包含b
通常我们在程序中常听到的概念是左闭右开,也就是含左不含右,最常用的就是java中的字符串的截取方法sbuString
,它采取的就是左闭右开策略
在深入了解了之后... 我发现这是一个聚簇索引和非聚簇索引在🔒方面的不同表现... 聚簇索引中不会出现key重复的情况,而非聚簇索引则不然,因此针对聚簇索引枷锁的时候,如果目标是明确的,仅仅锁一个key就可以了,但是非聚簇索引为了防止相同的key插入,会把目标key的左右两边都锁住