首页 > 数据库技术 > 详细

数据库事务

时间:2019-01-08 19:09:14      阅读:162      评论:0      收藏:0      [点我收藏+]

 

事务属性(ACID)

  • 原子性(Atomicity)
  • 一致性(Consistency)
  • 隔离性(Isolation)
  • 持久性(Durability)

事件读现象

  • 脏读
  • 不可重复读
  • 幻读

事务隔离级别

  • 未提交读(READ UNCOMMITTED):脏读,不可重复读,幻读
  • 已提交读(READ COMMITTED): 不可重复读,幻读  --> oracle,sqlServe 默认
  • 可重复读(REPEATABLE READ):幻读   --> mysql 默认
  • 序列化(SERIALIZABLE ):无

  • 共享锁:未释放前其它事务可以读,可以再加共享锁,但不能修改。
  • 排它锁:未释放前其它事件,不可读,也不能修改。
  • 行级共享锁
  • 行级排它锁 
  • 表级(范围)共享锁
  • 表级(范围)排他锁

隔离级别与锁的关系

  • 在Read Uncommitted级别下,读操作不加 行级共享锁,写操作加 行级共享锁
  • 在Read Committed级别下,读操作需要加行级共享锁,但是在语句执行完以后释放行级共享锁;
  • 在Repeatable Read级别下,读操作需要加行级共享锁,但是在事务提交之前并不释放加行级共享锁,也就是必须等待事务执行完毕以后才释放加行级共享锁。

 

  • 在Serialize级别下,会在Repeatable Read级别的基础上,添加一个范围锁。保证一个事务内的两次查询结果完全一样,而不会出现第一次查询结果是第二次查询结果的子集。

参考:

https://baijiahao.baidu.com/s?id=1572543485267773&wfr=spider&for=pc&isFailFlag=1

https://blog.csdn.net/baidu_37107022/article/details/77481670

Isolation

数据库事务

原文:https://www.cnblogs.com/veryvalley/p/10240465.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!