MySql事务处理基础知识

MySql中只有INNODB引擎支持事务处理机制。

MySql中默认的是关闭事务。也可以理解为将每条DML语句都封装为一个事务,自动提交。

手动开启事务:可以设置set  autocommit = 0,这会导致在一个Session中均开启事务。

satrt tramsaction或者begin,临时性开启事务。也就是开启一次。

commit为提交事务。rollback为回滚。均会关闭临时开启的事务。

针对并发事务导致的:脏读、幻读以及不可重复读等问题,大多数数据库都有事务隔离机制来应对。

事务隔离级别分为4个:

1:读未提交read-uncommitted。此级别对问题无法处理。

2:读已提交read-committed。可处理脏读的问题。

3:可重复读repeatable-read。可处理脏读和不可重复读的问题。

4:串行化serializable。可处理所有问题。

当然,级别越高意味着处理起来越麻烦,性能越低。

MySql中有两条语句对事务隔离级别进行操作:

select @@tx_isolation:查询隔离级别

set session transaction isolation level xxx:设置当前session会话的事务隔离级别。

你可能感兴趣的:(MySql,数据库)