数据库事务特性
原子性(Atomicity):事务是一个原子操作单元,其对数据的修改,要么全都执行,要么全都不执行。
一致性(Consistent):在事务开始和完成时,数据都必须保持一致状态。这意味着所有相关的数据规则都必须应用于事务的修改,以保持数据的完整性;事务结束时,所有的内部数据结构(如B树索引或双向链表)也都必须是正确的。
隔离性(Isolation):数据库系统提供一定的隔离机制,保证事务在不受外部并发操作影响的“独立”环境执行。这意味着事务处理过程中的中间状态对外部是不可见的,反之亦然。
持久性(Durable):事务完成之后,它对于数据的修改是永久性的,即使出现系统故障也能够保持。
数据并发问题
脏读:一个事务读取了另一个事务为提交的数据,会在本事务产生数据不一致的问题
不可重复读:在一个事务中,多次读取相同的数据,但读取的结果不一样,会在本事务中产生数据不一致的问题
幻象读:在一个事务中,多次读取整表数据(统计),但读取的结果不一样,会在本事务中产生数据不一致的问题
—转载请注明出处