`
f543711700
  • 浏览: 322921 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

事务的隔离级别研究

 
阅读更多
今天无聊研究了一下以前没仔细看过的事务隔离级别,目前通用的包括大概是下面的图片的样子:





其中,oralce和其他很多数据库默认第二种级别,mysql默认使用第三种级别。

     根据我的测试,select 语句在任何时候都不会阻塞,即一个事务不管进行何种的DML语句而不提交事务,另外一个事务都可以顺利执行select语句。
     这是因为select语句并不需要获得 操作对象的锁,在oralce中,因为默认隔离级别是“提交读”,所以此时的select语句只能读取到“已提交后的数据”,也正是因为只要数据提交,就能被读取到,所以oralce存在 “不可重复读”。但是mysql的默认隔离级别是第三种,所以这个时候mysql不存在“不可重复读”,因为mysql的处理策略是:必须select语句所在的事务被提交后,才能读取到被其他事务更新的数据。不过根据我的测试有个很奇怪的问题:资料上说mysql存在 幻读,不过我的测试中发现不存在。

     但是DML语句不同,如果一个事务进行了DML操作而不提交事务,那么其他事务的DML语句将不能得到执行(测试了oracle和 mysql5.x innodb引擎)。
     这是因为DML语句的执行需要获得 操作对象(表、视图、行)的锁。






  • 大小: 14.9 KB
分享到:
评论

相关推荐

    SQLSERVER事务隔离级别的实验研究.pdf

    SQLSERVER事务隔离级别的实验研究.pdf

    hermitage:数据库中事务隔离级别之间的区别是什么? 这是一组测试案例,用于区分隔离级别

    冬宫:测试事务隔离级别 “亚里斯多德坚持认为,妇女的牙齿比男子的牙齿少; 尽管他已经结过两次婚,但他从来没有想过要检查妻子的嘴巴来证实这一说法。” ―贝特兰·罗素(Bertrand Russell),《科学对社会的影响...

    MySQL 事务(五).pdf

    事务隔离级别:介绍不同隔离级别及其对并发事务的影响。 锁机制:探讨MySQL中的锁类型和锁争用问题。 死锁处理:如何识别和解决事务中的死锁问题。 事务日志:事务日志的作用和恢复机制。 批量操作和事务:在执行...

    mysql中的事务、锁讲解和操作

    关于MySQL的事务,我们会深入探讨事务的定义、ACID属性、事务的相关隔离级别以及事务的执行流程等重要内容。同时,我们还会介绍到MySQL中的事务日志以及如何进行事务的管理和调优。而对于MySQL中的锁,我们将会介绍...

    论文研究 - 使用验证功能优化长期交易

    然后,如果估计在竞争情况下执行的长期交易的隔离难度,则可以应用服务级别的并发控制。 或者,执行没有任何并发​​控制的长期事务。 在下一个可到达的安全点,将执行另一次验证尝试。 然后,如果检测到序列化失败...

    精通SQL 结构化查询语言详解

    18.3.2 事务隔离级别  18.3.3 SET TRANSACTION设置事务属性  18.4 SQL Server中的并发事务控制  18.4.1 锁的分类  18.4.2 SQL Server中表级锁的使用  18.4.3 设置隔离级别实现并发控制 18.4.4 死锁及其...

    java-temple:权限管理java版本

    web端可能有多个,放到service中可以共用properties 是写在哪里的 src main的resource里面如何配置 开发模式和发布模式的 maven配置mybatis的事务是如何配置的事务的传播途径 7中 和事务的隔离级别2018-6-12研究日志...

    精通SQL--结构化查询语言详解

    1.3.3 新一代数据库技术的研究和发展 7 1.4 关系数据库 8 1.4.1 关系模型 8 1.4.2 codd十二法则 9 1.4.3 范式 10 1.5 sql语言基础 11 1.5.1 sql的历史 11 1.5.2 sql语言的组成 12 1.5.3 sql语句的结构 13 ...

    尚硅谷_佟刚_JDBC.pptx

    11. 处理事务 & 事务的隔离级别(视频16-17) 12. 批量处理(视频18) 13. 数据库连接池 & C3P0 & DBCP(视频19-20) 14. 使用 DBUtils(视频21-23) 15. 使用 JDBC 调用函数 & 存储过程(视频24) 16. 课件及源码 ----------...

    Java数据编程指南

    Java数据库连接(JDBC) 什么是JDBC JDBC结构 开始起步 使用...事务隔离级别 保存点 使用光标 PreparedStatement接口 批更新 CallableStatement JDBC Escape语法 JDBC支持类 小结...

    数据库系统及应用课程总结.docx

    并发控制干扰问题、可串行性、封锁、死锁、隔离级别、封锁与隔离级别;恢复故障类型、备份类型、日志的概念、恢复模型、备份转储、还原。第九章为关系数据理论:函数依赖术语和符号;函数依赖的公理系统Amstrong公理...

    SQL.Server.2008编程入门经典(第3版).part1.rar

    内容简介 《SQL Server 2008编程...14.4 设置隔离级别 14.5 处理死锁(1205错误) …… 第15章 触发器 第16章 初识XML 第17章 Reporting Services 第18章 使用Integration Services进行集成 第19章 扮演管理员的角色 附录

    SQL.Server.2008编程入门经典(第3版).part2.rar

    内容简介 《SQL Server 2008编程...14.4 设置隔离级别 14.5 处理死锁(1205错误) …… 第15章 触发器 第16章 初识XML 第17章 Reporting Services 第18章 使用Integration Services进行集成 第19章 扮演管理员的角色 附录

    Oracle SQL高级编程(资深Oracle专家力作,OakTable团队推荐)--随书源代码

    14.3 事务隔离级别 388 14.4 多版本读一致性 390 14.5 事务控制语句 391 14.5.1 Commit(提交) 391 14.5.2 Savepoint(保存点) 391 14.5.3 Rollback(回滚) 391 14.5.4 Set Transaction(设置事务) 391 14.5.5 ...

    很用心的为你写了 9 道 MySQL 面试题

    MySQL 一直是本人很薄弱的部分,后面会多输出 MySQL 的文章贡献给大家,毕竟 MySQL 涉及到数据存储、锁、磁盘寻道、分页等操作系统概念,而且互联网对 MySQL 的注重程度是不言而喻的,后面要加紧对 MySQL 的研究。...

    Access+2000中文版高级编程

    12.4.3 升级分组级别 381 12.4.4 添加页眉节 382 12.4.5 在分区带显示的数据访问页中查看数据层次 383 12.4.6 使用组筛选控件的组合框 383 12.5 查找其他资源 385 12.6 小 结 385 第三部分 利用互操作性...

    Access 2000中文版高级编程(part1)

    12.4.3 升级分组级别 381 12.4.4 添加页眉节 382 12.4.5 在分区带显示的数据访问页中查看数据层次 383 12.4.6 使用组筛选控件的组合框 383 12.5 查找其他资源 385 12.6 小 结 385 第三部分 利用互操作性来扩展...

Global site tag (gtag.js) - Google Analytics