mysql事物
定义:多条sql语句,要么同时成功,要么同时失败
mysql事务默认是开启的,执行一个sql后,效果会立即体现出来,且不能回滚
设置mysql自动提交为false: set autocommit=0;
rollback ,事务给我们提供了一个返回的机会
手动开启事务:begin 或者 start transaction;
事务特征
A 原子性:事务是最小单位,不可分割
C 一致性:事务要求,同一事务中的sql语句,必须保证同时成功或者同时失败
I 隔离性:事务1和事务2之间是具有隔离性的
D 持久性:事务一旦结束(commit,rollback),就不可以返回。
事务隔离性
1.read uncommitted; 读未提交的, 脏读
2.read committed;读已提交,
3.repeatable read;可以重复读,幻读,2个事务独立的
4.serializable; 串行化,性能特差
性能
read-uncommitted > read-committed > repeatable read > serializable;
隔离级别越高,性能越差,mysql默认是:repeatable read。
查看数据库隔离级别
select @@global.transaction_isolation; 系统级别
select @@transaction_isolation; 会话级别
修改隔离级别
set transaction isolation level read uncommitted;