标签:失败 comm 提交数据 enc session 必须 之间 strong 刷新
事务必须具备原子性(Atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability)四个属性,简称ACID属性。
原子性(Atomicity)
事务是一个完整的操作。事务的各部分操作是不可分的,即要么都执行,要么都不执行。
例:如同银行的转账一样,A用户给B用户转账100元,A账户里扣除100和B账户增加100必须都成功,或者都失败。
一致性(consistency)
一个查询的结果必须与数据库开始查询时的状态一致,即读不等写、写不等读。
例:一个查询从9:00开始执行,9:05数据被更改,9:10查询返回结果,该查询返回的结果依旧是9:00时数据库的数据,并不会返回9:05更改后的数据。
隔离性(isolation)
对于其它会话来说,未完成的(即未提交的)事务不可见。
例:事务与事务之间互相隔离,存A和B在2个session,sessionA查询,sessionB更新,在sessionB更新尚未commit之前,session所查询的依然是commit之前的。即sessionB在9:00更新数据,sessionA在9:05查询数据,sessionB在9:10后commit,此时sessionA查询的数据依然是更新之前的数据,而sessionB在9:00之后查询会返回更新后的数据,sessionA在9:10sessionB进行commit之后查询会返回更新后的数据。
持久性(durability)
事务一旦提交完成,数据库就不可以丢失这个结果,数据库通过日志能够保持数据的持久性。
例:事务提交后不可逆,提交数据是由内存刷新到磁盘上,这个过程的快慢和性能有关。在oracle中,主要拷‘rudo‘日志,先记录日志,再写入磁盘。
标签:失败 comm 提交数据 enc session 必须 之间 strong 刷新
原文地址:https://www.cnblogs.com/hybh/p/13832785.html