mysql 并发处理

34 篇文章 0 订阅

                                           mysql 并发处理

  • 并发处理 
    • 当多个连接对记录进行修改时保证数据的一致性和完整性

  • 为什么要用到并发控制

    • 假设我们的数据库中存在着商品的记录,现在有两个用户进行登陆,假设一个用户要删除id为22的记录,一个用户要读取id为22的记录,那么会发生什么样的结果呢,结果可能是正在读取信息的用户报错而退出,也可能是他会得到一条和实际信息不符的信息。

  • 怎么 处理并发问题 
    • 在处理并发读和并发写的时候,系统会使用一套锁系统来解决这个问题

  • 什么是锁系统 
    • 锁系统由两类锁来组成 
      • 共享锁(读锁) 
        读锁是共享的互不阻塞的,在同一段时间内,多个用户可以读取同一个资源,读取过程中数据不会发生任何变化
      • 排它锁(写锁) 
        写锁是排他的,在任何时候都只能有一个用户写入资源,当进行写锁时会阻塞其它的读锁或者写锁操作

  • 锁的粒度

    • 锁的粒度就是mysql锁定时的单位,根据单位可以分为两种

      • 表锁,是一种开销最小的锁策略。使用户得到数据表的写锁(禁止其他用户进行读写,只有一个锁,锁定了整张表) 
        当锁为表锁时,一个用户访问了一张表,那么其它用户都不能访问这张表

      • 行锁,是一种开销最大的锁策略。使用户得到特定行的写锁,并行性最大(有多少条记录,就可能对多少条记录进行了行锁) 
        当锁为行锁时,用户访问数据表的特定行,比如第一行,那么第一行就不能被其它用户访问,其它用户只能访问除了第一行以外的行


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值