55.基础-事务-并发事务演示及隔离级别
为了解决并发事务所引发的问题,在数据库中引入了事务隔离级别。主要有以下几种:
隔离级别 | 脏读 | 不可重复度 | 幻读 |
---|---|---|---|
Read uncommitted 读未提交 | √ | √ | √ |
Read committed 读已提交(orical默认) | × | √ | √ |
Repeatable Read 可重复度 (默认) | × | × | √ |
Serializable 串行化 | × | × | × |
1). 查看事务隔离级别
SELECT @@TRANSACTION_ISOLATION;
2). 设置事务隔离级别
SET [ SESSION | GLOBAL ] TRANSACTION ISOLATION LEVEL { READ UNCOMMITTED | READ COMMITTED | REPEATABLE READ | SERIALIZABLE }
注意:事务隔离级别越高,数据越安全,但是性能越低。
(1)Read uncommitted 读未提交
(2)Read committed 读已提交
(3)Repeatable Read 可重复度
(4)Serializable 串行化
串行化就是指,我在进行并发操作的时候,只允许一个事务来操作,A事务在操作的时候B事务必须等着,只有等A事务操作完成提交之后B时候才能开始操作。
务来操作,A事务在操作的时候B事务必须等着,只有等A事务操作完成提交之后B时候才能开始操作。