mysql 事务的概念,事务的特性,事务的隔离级别的设置,

来源:互联网 发布:网络取代电视 编辑:程序博客网 时间:2024/06/08 19:16

16 事务的概念:事务:指定是逻辑上的一组操作,组成这组操作的各个逻辑单元,要么全部成功,要么全部失败。

开启事务:start transaction;

提交事务:commit;

回滚事务:rollback; 回滚到开启事务之前的状态

事务的特性:

原子性:事务的不可分割性,组成事务的各个逻辑单元不可分割,要么都成功,要么都失败

一致性:事务执行前后,数据的完整性保持一致

隔离性:事务执行不应该受到其他事务的干扰

持久性:事务一旦结束,数据就持久化到数据库中。

17 事务的隔离级别

隔离性:一个事务的执行,不应该受到其他事务的干扰,

如果不考虑隔离性(一个事务执行受到其他事务的干扰)印发一些安全问题,主要体现在读取数据上

脏读:一个事务读到了另一个事务未提交的数据,导致查询的结果不一致

不可重复读:一个事务读到了另一个事务已经提交的update的数据,导致多次查询结果不一致

虚读/幻读:一个事务读到了另一个事务已经提交的insert的数据,导致多次查询结果不一致。

设置事务的隔离级别:

Read uncommitted: 问题都会发生

Read committed:避免脏读

Repeatable read:避免脏读和不可重复读

Serializable :可以避免脏读,不可重复读 ,虚读

18

设置事务的隔离级别

SET SESSION TRANSACTION ISOLATION LEVEL 隔离级别

查看当前的隔离级别

SELECT @@TX_isolaion;

原创粉丝点击