数据库事务隔离级别

数据库的事务隔离级别,是为了解决数据库并发情况下,数据读取的安全问题。

四种事务隔离级别:

  1. 读未提交    read uncommitted            可以读到没提交的数据
  2. 读已提交    read committed                只能读到事务提交后的数据
  3. 可重复读    repeatable read                多次读取相同的数据,每次得到的结果都一样(哪怕这些数据已经被修改)
  4.  串行事务    serializable                      不允许读写并发(性能下降)


由事务隔离级别产生的几个常见问题:
    读未提交,可导致----->>>> 脏读
    读已提交,可导致----->>>> 不可重复读
    重复读,可导致    ----->>>> 幻读

什么是脏读?
        脏读,就是读到了没有提交的数据,这些数据,有可以会因为rollback的执行而不存在。

什么是不可重复读?
        多次读取相同的数据,每次结果不一样

什么是幻读?
        多次读取相同的数据,每次读到的结果都跟第一次一样,哪怕这个数据已经被修改也读不到

---------------------------------------------------------------------------------------------------------------------------------
1.查看当前会话隔离级别
  select @@tx_isolation;

2.查看系统当前隔离级别
   select @@global.tx_isolation;

3.设置当前会话隔离级别
    set session transaction isolation level read uncommitted;
    set session transaction isolation level read committed;
    set session transaction isolation level repeatable read;
    set session transaction isolation level serializable;

4.开启事务
    start transaction;

5.提交事务
    commit;

6.回滚事务
    rollback;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值