
mysql
宁大大
java软件工程师
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
InnoDB的MVCC
MVCC(Multi-Version Concurrent Control)通过在每一行后面保存两个隐藏的列来实现的。这两个列,一个保存了行的建时间,一个保存了行的结束时间。当然存储的并不是实际的时间值,而是系统版本号。每开启一个新的事务,系统版本号都会自动递增。事务开启时刻的系统版本号会作为事务版本号,用来和查询到的每行记录的版本号进行比较。需要注意的是,MVCC只在RR和RC两个隔离级别下工作。原创 2017-12-06 01:32:20 · 416 阅读 · 0 评论 -
mysql读写锁及事务
读写锁 同一用户并发读取同一条数据,不会出现什么问题,因为读取不会修改数据,但是如果某个用户正在读取某张表,而同一时刻另一用户正在修改这张表的id为1的数据,会产生什么后果? 答案是不确定的,读的用户可能会报错退出,也可能读到不一致的数据。 解决这类经典问题的就是并发控制。在处理并发读写的时候,可以通过实现一个由两种类型的锁组成锁系统来解决问题。这两种锁就是读锁(共享锁)和写锁(原创 2017-12-06 00:22:05 · 25343 阅读 · 6 评论