DB - Transaction

事务的概念来自于两个独立的需求:并发数据库访问,系统错误恢复。可以看做是一个工作单元的一系列SQL语句的集合。

事务的特性

ACID

事务控制

有四个命令用于控制事务

异常情况

脏读(Dirty Read)

不可重复读(Nonrepeatable Read)

幻想读(Phantom Read)

隔离级别

SQL事务隔离级别由弱到强分别是

Oracle 锁机制

隔离级别的实现

Oracle

ALTER SESSION SET ISOLATION_LEVEL = READ COMMITTED / SERIALIZABLE;

MySQL

SET [SESSION | GLOBAL] TRANSACTION ISOLATION LEVEL {READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE}

Read Uncommited

Read Committed

Repeatable Read

Serializable

Fork me on GitHub