- 博客(6)
- 收藏
- 关注
原创 MySQL如何加锁
唯一索引等值查询:当查询的记录是存在的,next-key lock 会退化成「记录锁」。当查询的记录是不存在的,next-key lock 会退化成「间隙锁」。非唯一索引等值查询:当查询的记录存在时,除了会加 next-key lock 外,还额外加间隙锁,也就是会加两把锁。当查询的记录不存在时,只会加 next-key lock,然后会退化为间隙锁,也就是只会加一把锁。非唯一索引和主键索引的范围查询的加锁规则不同之处在于:唯一索引在满足一些条件的时候,next-key lock 退化为间隙锁和记
2022-07-31 02:00:01 822
原创 Mysql中的锁
全局锁加锁后,整个数据库都是只读状态,一般应用在数据库备份的时候,不能用其他事务的修改。但可以通过可重复读隔离级别通过开启事务创建ReadView来解决备份期间修改数据的情况。工具是mysqldump -single-transaction.InnoDB存储引擎支持但MyiSAM引擎不支持。表级锁包括表锁 元数据锁 意向锁 AUTO-INC锁表锁对表加锁 共享锁(读锁)和独占锁(写锁)表锁会限制别的线程读写,直到锁被释放,避免在InnoDB引擎的表使用,因为表锁颗粒度太大,影响并发性能。元数
2022-07-30 02:47:25 217
原创 MVCC多版本并发控制
通过将隐藏列事务id和read view中id范围比对,在范围里,说明事务正在活跃未提交,该活跃版本事务的记录对当前事务不可见,然后沿着undo log链条往下找旧版本记录,将id往前推,直到找到范围外已经被提交的事务id,然后读取该事务记录信息。...
2022-07-29 03:33:17 95
原创 不可重复读和幻读和脏读的区别和严重性排序
不可重复读是指在一行数据中,有事务对数据进行update,导致另一事务前后读取数据不一样;幻读有些类似,也是前后数据不一致,但这里是满足查询条件的记录数量的不一致。脏读是读到其他事务未提交的数据。所以在严重性上脏读>不可重复读>幻读。脏读不可重复读幻读严重性排序...
2022-07-27 02:38:42 229
原创 生成javadoc的方法
javadoc常用标识@author 作者@version 版本号@param 参数名 描述 方法的入参名及描述信息,如入参有特别要求,可在此注释。@return 描述 对函数返回值的注释@deprecated 过期文本 标识随着程序版本的提升,当前API已经过期,仅为了保证兼容性依然存在,以此告之开发者不应再用这个API。@throws异常类名 构造函数或方法所会抛出的异常。@exception 异常类名 同@throws。@see 引用 查看相关内容,如类、方法、变量等。@since
2021-04-11 16:37:37 126
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人