数据库事务隔离级别定义
来源:互联网 发布:ubuntu 一直等待安装 编辑:程序博客网 时间:2024/05/19 14:19
数据库事务隔离级别定义
- Read Uncommitted(可以读到未提交数据):
- 如果一个事务已经开始读取数据,但是未提交,则另外一个事务无论是读还是写,都允许继续访问该数据;
- 如果一个事务已经开始写数据,但是未提交,则另外一个事不允许同时进行写操作,但允许事务读此数据。
事务1(早发起,但仍未提交)
事务2(晚发起,但针对同一块数据)
读 →
读 √
写 √
写 →
读 √
写 ×
- Read Committed(只能读到已提交数据):
- 如果一个事务已经开始读取数据,但是未提交,则另外一个事务可以读该数据,也可以写该数据;
- 如果一个事务已经开始写数据,但是未提交,则禁止其他事务写数据和读取该数据。
事务1(早发起,但仍未提交)
事务2(晚发起,但针对同一块数据)
读 →
读 √
写 √
写 →
读 ×
写 ×
- Repeatable Read(可重复读取数据):
- 如果一个事务已经开始读取数据,但是未提交,则另外的事务不允许同时写该数据,但允许读该数据;
- 如果一个事务已经开始写数据,但是未提交,则禁止其他事务读或写该数据。
事务1(早发起,但仍未提交)
事务2(晚发起,但针对同一块数据)
读 →
读 √
写 ×
写 →
读 ×
写 ×
- Serializable(序列化):
- 事务只能一个接着一个地执行,不能并发执行。
事务1(早发起,但仍未提交)
事务2(晚发起,但针对同一块数据)
读 →
读 ×
写 ×
写 →
读 ×
写 ×
隔离级别越高,越能保证数据的完整性和一致性,但是对并发性能的影响也越大。
对于多数应用程序,可以优先考虑把数据库系统的隔离级别设为Read Committed。
它能够避免脏读取,而且具有较好的并发性能。
提高隔离级别会导致并发问题,在可能出现这类问题的场合,可以由应用程序采用悲观锁或乐观锁来控制。
0 0
- 数据库事务隔离级别定义
- 数据库事务隔离级别
- 数据库事务隔离级别
- 数据库事务隔离级别
- 数据库事务隔离级别
- 数据库事务隔离级别
- 数据库事务隔离级别
- 数据库事务隔离级别
- 数据库事务隔离级别
- 数据库事务隔离级别
- 数据库事务隔离级别
- 数据库事务隔离级别
- 数据库事务隔离级别
- 数据库事务隔离级别
- 数据库事务隔离级别
- 数据库事务隔离级别
- 数据库事务隔离级别
- 数据库事务隔离级别
- 边界等相关细节易错问题
- SQL SERVER代理作业删除失败问题
- ios 生成json字符串并去掉里面的空格回车
- 将制定文件路径下的文件内容合并到一个文件
- ClipDrawable的用法(图片切割效果)
- 数据库事务隔离级别定义
- Android好奇宝宝_番外篇_看脸的世界_05
- 织梦dedecms教程-登录后台提示验证码错误的解决方法
- 集合中的Collections排序和Map排序
- Java中String字符去空格和挑选出数字
- java 弱引用集合类WeakHashMap
- Spring3 MVC
- MyEclipse设置默认注释的格式
- windows7下gvim打开UTF8无bom文件中文乱码问题的解决