MySQL隔离性及Spring事务
一、数据库事务ACID特性 必须要掌握事务的4个特性,其中事务的隔离性之于MySQL,对应4级隔离级别。 原子性(Atomicity): 事务中的所有原子操作,要么都能成功完成,要么都不完成,不能停滞在中间环节。发生错误要回滚至事务开始前状态,仿佛事务没有发生过。 一致性(Consistency): 事务必须始终保持数据库系统处于一致的状态,无论并发多少事务。 隔离性(Isolation): 事务的隔离性是多个用户并发访问数据库时,数据库为每一个用户开启的事务,不能被其他事务的操作数据所干扰,多个并发事务之间要存在相互隔离。 [MySQL隔离级别] 持久性(Durability): 持久性是指一个事务一旦被提交,它对数据库中数据的改变就是永久性的,接下来即使数据库发生故障也不应该对其有任何影响。 二、MySQL隔离级别 1 select @@tx_isolation ; --查询MySQL隔离级别 2 set <level> tx_isolaction = 'READ-COMMITTED'; --设置事务隔离级别level分为session默认,global全局 3 start transaction ; -- 启动事务 4 set savepoint <point_name> ; --设置回滚点,mysql支持回滚点 5 rollback ; -