Mysql事物
Mysql事物
Alexmysql事物
- 一个最小不可再分的工作单元
- 通常一个事务对应一个完整的业务:(如银行转账业务)
- 而一个完整的业务需要有批量的DML(insert、update、delete)语句共同完成
- 事务只和DML语句有关系,或者说只有DML语句才有事务
事务具有四个特性
- 原子性
- 事务是最小单元,不可再分
- 一致性
- 事务要求所有的DML语句操作的时候,必须保证同时成功或同时失败
- 隔离性
- 一个事务不会影响其他事务的运行
- 持久性
- 在事务完成之后,该事务对数据库的操作的更改将持久地保存在数据库中,并不会被回滚
mysql事务隔离级别
读未提交
Read Uncommitted
(级别最低)- 事务A和事务B,事务A未提交的数据,事务B可以读取
- 这里读取到的数据可以叫做
脏数据
或脏读 Dirty Read
- 读未提交隔离级别最低,这种级别一般只在理论上存在,数据库默认隔离级别一般都高于该隔离级别
读已提交
Read Committed
可重复读
Repeatable Read
串行化
Serializable
查看会话隔离级别
1
select @@global.tx_isolation,@@tx_isolation;
更改会话级的隔离级别
1
set session tx_isolation='read-uncommitted';