MySQL扩展知识4——事务隔离

基本介绍

当我们的mysql表,被多个线程或者客户端同时操作时,mysql提供一种机制,可以让不同的事务在操作数据时,具有隔离性。从而保证,数据的一致性。



不考虑事务隔离,可能会引发如下问题:


1)脏读

一个客户端(开启事务)会读取到,另外一个客户端(开启事务)没有提交(commit)的修改数据。


2)不可重复读(偏重修改操作

在第一个事务还没有结束时,另外一个事务也访问该同一数据。

在第一个事务中的两次读数据之间,由于第二个事务的修改(且commit),那么第一个事务两次读到的的数据可能是不一样的。

在一个事务内两次读到的数据是不一样的,称为是不可重复读


3)幻读 | 虚读(偏重增加和删除操作

第一个事务对一个表中的数据进行了修改,这种修改涉及到表中的全部数据行。

同时,第二个事务也修改(且commit)这个表中的数据,这种修改是向表中插入一行新数据。

那么,以后就会发生操作第一个事务的用户发现表中还有没有修改的数据行,就好象发生了幻觉一样。



事务隔离级别

这里写图片描述


基本语法:
设置
set session transaction isolation level 级别名

查看
select  @@tx_isolation


补充说明

MySQL**默认的隔离级别是可重复读**。一般在开发中,不要去改。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值