mysql innodb锁

mysql并发造成的异常:

  • 更新冲突:初始值不一致
  • 脏读:读取但未提交的数据,如果该事务回滚,读取到的就是不合法的,
  • 不可重复读:涉及到update(同一条数据),两次读取的不一致(行锁即可)
  • 幻读:涉及到插入和删除(同一组数据),两次读取的不一致(需要表锁)。

mysql 事务

事务需要满足ACID

  • A 原子性:
    要么都更新要么都不更新
  • C 一致性:
    不能违背数据库的完整性规则(库存不能为负)
  • I 隔离性:
    一次需要处理很多用户信息,但对于单个用户体验来说,貌似他就是唯一的一样,不受其余用户干扰
    五种隔离级别
    
    原名别名备注
    未授权读取读取未提交彼事务可读不可写
    授权读取读取提交未提交的事务禁止访问
    可重复读取RR
    序列化串行化事务只能串行,不可并行
    快照度
    在这里插入图片描述
  • D 持久性:
    失误动作需要有日志记录

查询/更改事物的隔离级别

  • 查询隔离级别
    5.6之前 select @@tx_isolation;
    mysql8 select @@transaction_isolation;
  • 设置隔离级别
    set global(session) transaction isolation level Read uncommitted | Read committed | Repeatable Read | Serializable;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值