MySQL
文章平均质量分 52
Utopia丶程
这个作者很懒,什么都没留下…
展开
-
MySQL 锁的算法(InnoDB存储引擎)
InnoDB存储引擎有3中行锁的算法设计,分别是Record Lock(单个行记录上的锁)、Gap Lock(间隙锁,锁定一个范围,但不包含记录本身)、Next-Key Lock(Record Lock+Gap Lock,锁定一个范围,并且锁定记录本身)。 Record Lock总是会锁住索引记录。如果InnoDB存储引擎表建立的时候没有设置任何一个索引,这时InnoDB存储引擎会使用隐式的主键来进行锁定。 Next-Key Lock是Record Lock和Gap Lock的一种结合的锁定算法,Inn原创 2021-03-17 16:48:14 · 189 阅读 · 0 评论 -
MySQL 一致性的非锁定读操作
一致性的非锁定行读(consistent nonlocking read)是指InnoDB存储引擎通过行多版本控制(multi versioning)的方式来读取当前执行时间数据库中行的数据。如果读取的行正在执行DELETE、UPDATE操作,这时读取操作不会等待该行上的锁释放后再读取,相反,InnoDB存储引擎会去读取该行的一个快照数据。如下图: 该图直观的展示了InnoDB存储引擎一致性的非锁定读,之所以称为非锁定读,因为不需要等待访问行上的X锁的释放。快照数据是指该行之前历史版本的数据,该实现是原创 2021-03-16 17:55:50 · 278 阅读 · 0 评论 -
MySQL5.7版本sql脚本导入到MySQL5.5版本数据库遇到的问题
废话不多说,打开5.7版本的sql脚本文件,1,将创建语句中的datetime(0) 改为datetime,datetime(0)可能是datetime(3),或者datetime(1)等,不管datetime(几)全部改为datetime。2,凡是出现 DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP 内容的创建语句都改为 DEFAULT...原创 2019-04-30 09:41:05 · 4954 阅读 · 1 评论