事务的隔离级别
事务的特性:ACID
原子性:强调事务的不可分割
一致性:事务在执行前后,数据的完整性保持一致
隔离性:多个事务并发的时候,一个事务的执行不应该受到其他事务的干扰
持久性:一个事务一旦提交,就应该永久保存
事务隔离性问题
三类读写问题
脏读 :指一个线程读取到另外一个线程未提交的数据
不可重复读 :指一个线程中的事务读取到了另一个线程中提交的updata数据
虚读/幻读 :指一个线程中的事务读取到另一个线程中提交的insert数据
查看数据库当前的隔离级别
SELECT @@tx_isolation; # @@代表全局变量
read-uncommitted : 读未提交,脏读、不可重复读、虚度都有可能发生
read-committed : 已提交读,避免脏读,但是不可重复读、虚读可能发生
repeatable-read : 可重复读,避免脏读、不可重复读、可能发生虚读
serializable : 串行化,避免脏读、不可重复读、虚度的发生
mysql默认是可重复读