查看隔离等级
select @@tx_isolation;
设置隔离等级
SET SESSION TRANSACTION ISOLATION LEVEL READ COMMITTED;
设置和查看 autocommit
set autocommit=0;
show variables like 'autocommit';
查看当前 连接 id
select connection_id();
隔离等级的含义
读未提交:事务A能读到事务B没有提交的数据,也就是脏读;除此之外,还会出现不可重复读,幻读。
读已提交:事务A不会读到B进行中的数据(这就解决了脏读问题),但能读到之前和之后的数据,如果发生变化,则属于不可重复读;除此之外,也会出现幻读。
可重复读:事务A读某条数据,事务结束之前再次读取保证一致。但仍然会出现幻读,所谓幻读,就是事务A select一个数据集,但B新插入了一条符合A select条件的数据,导致A再次select的时候数据集发生了变化(多了1条)。
串行化:所有的事务串行化,并发性能最差,但数据最一致,不会出现幻读。
MySQL的默认事务隔离级别为可重复读。