事务ACID,是指在可靠数据库管理系统(DBMS)中,事务(transaction)所应该具有的四个特性:原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性(Durability)。
这几个单词必须记住!!!!
http://blog.csdn.net/shuaihj/article/details/14163713 参考,写的还是不错的,不会混乱,理解清晰
1.原子性
事物操作是一个不可分割的单位,要么同成功,要么同失败。
2.一致性
事务操作之后,前后是一致的。例如a账户给b账户转账100,前后a要少了100,b要多了100,总和还是100。
3.隔离性
多个事务并发访问时,事务之间是隔离的,一个事务不应该影响其它事务运行效果。
并发环境中,当不同的事务同时操纵相同的数据时,每个事务都有各自的完整数据空间。
企业开发中,事务最复杂问题都是由事务隔离性引起的。
事务直接所可能造成的问题:(不是数据库的隔离级别)
(1)脏读
关键词:不同事务之间,读取未提交且可能回滚的数据,有一个时间差
总结:一个事务读取另一个事务未提交的数据时,这个数据可能会回滚。
(2)不可重复读
关键词: 同一个事务范围内,2次查询
,别的事务修改(update)
,返回不同数据
总结:不可重复读意味着,在数据库访问中,一个事务范围内两个相同的查询却返回了不同数据。这是由于查询时系统中其他事务修改的提交而引起的。
(3)幻读
关键词:同一个事务范围内,两次查询,返回不同数据,别的事务修改(insert)数据
总结:
(4)丢失更新
关键词:同时修改一条记录,后者覆盖前者数据,前者丢失更新。
4.持久性
事务操作后的结果永久反应在数据库中了。