事物¶
事物特性(ACIC)¶
原子性(atomicity)
一个事物要么全部提交成功,要么全部失败回滚,不能只执行其中的一部分操作。
一致性(consistency)
事物的执行不能破坏数据库数据的完整性和一致性,一个事物在执行钱和执行后,数据库都必须处于一致性状态。
隔离性(isolation)
持久性(durability)
一旦事物提交,那么它对数据库的状态的变更就会永久保存到数据库中。
事物隔离级别¶
数据库事物有四种隔离级别,默认事物级别为可重复读:
Read Uncommitted(读未提交)
Read Committed(读已提交)
Repeatable Read(可重复读)
Serializable(可串行化)
这是最高的隔离级别,它通过强制事物排序,使之不可能相互冲突,从而解决幻读问题。 简言之,它是在每个读的数据行上加上共享锁。在这个级别,可能导致大量的超时和锁竞争。