针对MySQL的MVCC多版本并发控制的一些总结
2024-09-05 20:03:43
MVCC
MVCC细节太多,我直接备忘一下总结:
MVCC就是通过事务的ID与行数据的版本(修改事务的ID)进行比较(通过redo log可以回溯版本)得出哪些版本的行数据可见和不可见而实现的事务隔离
一致性读
可重复读,查询只承认在事务启动前就已经提交完成的数据
读提交,查询只承认在语句启动前就已经提交完成的数据
自己版本更新的总可见(版本=事务/语句)
其他版本未提交的不可见
版本已经提交,但是是在当前版本之后创建的不可见
版本已经提交,但是在当前版本开始前提交的可见(虽然都提交,但是创建视图的点不同)
更新
更新操作中的读,只能是当前读,已经提交完成的最新版本,或者遇到行锁阻塞
开启事务
对于可重复读
1、start transaction 开始事务的语句事务开启点是在不是这句,而是第一个执行sql语句的地方
2、start transaction with consistent snapshot 开始事务的语句事务开启点在这这句
对于读提交
start transaction 和 start transaction with consistent snapshot都是以每条语句的执行创建视图
最新文章
- svn patch用法
- centos 7.0 ssh 登陆
- 44个 Javascript 变态题解析 (上\下)
- springmvc+spring+mybatis分页查询实例版本3,添加条件检索
- Java学习之路(二)
- 华为的JAVA面试题及答案(部分)
- 前端要怎么学createjs!!!???
- sp_xml_preparedocument _使用 处理XML文档
- hdoj 1863 畅通工程 最小生成树---prime算法
- JAVA异常使用_每个人都曾用过、但未必都用得好
- C++内联函数与宏定义
- STL容器小结
- PHP访问接口获取数据
- maven 项目出现 java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener
- Linux系统zookeeper环境搭建(单机、伪分布式、分布式)
- springboot、springsecurity、jwt权限验证
- 2018-2019-2 20165315《网络攻防技术》Exp6 信息搜集与漏洞扫描
- jquery mobile Touch事件
- PMS与orcalebs结合之字段
- Character Sets: Migrating to utf8mb4 with pt_online_schema_change
热门文章
- dotnet core 发布只带必要的依赖文件
- vue-learning:24 - component - 目录
- ie6 ie7下,Li不能自动换行,出现竖排文字现象(PS:li不固定宽度,所有li同一行显示),在ie8却可以
- 微信小程序样式wxss各种问题总结(不断更新)
- Android7_安卓的知识体系梳理
- 16.MindManager整理交互思路
- $Poj1037\ A\ Decorative\ Fence$ 计数类$DP$
- Codeforces Round #524 (Div. 2)(前三题题解)
- 1030 完美数列 (25 分)C、Java、python
- 我与Git的那些破事--代码管理实践