sql------事物的隔离性

  • 如何查看数据库的隔离级别
    在这里插入图片描述
  • 如何修改数据库的隔离级别
	SET GLOBAL TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

在这里插入图片描述

  • 事务的隔离级别
  1. read uncomitted;读未提交的
    如果有事务a和事务b,a事务对数据进行操作,在操作的过程中,事务没有被提交,b可以看见a操作的结果。
    这样就会出现脏读(一个事务里面读到了另外一个事务没有提交的数据),实际开发中是不允许脏读出现的。
  2. read commited;读已提交的
    现在只能读取到另外一个事务提交的数据了,但依旧可能存在读取同一个表的数据,发现前后不一致的问题,这时候就出现了不可重复读现象
  3. repeatable;可重复读
    可能会出现幻读(事务a和事务b同时操作一张表,事务a提交的数据不能被事务b查询到,就可能会出现幻读。)
  4. serializable;串行化
    当user表被另外一个事务操作的时候,其他事务里的写操作是不可以进行的,进入排队(串行化)状态,直到一边事务结束之后,另一边的写作操作才会执行(在没有等待超时的情况下)。
    串行化带来的问题是:性能不好
  • 性能排序:
    read-uncommitted>read-committed>repeatable-read>serializable
    隔离级别越高,性能越差。mysql默认的隔离级别是repeatable-read
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值