请接收,深挖分析MySQL关于锁的面试题

       今天就谈谈面试过程中经常遇到的关于MySQL锁的面试题,也许大家都已经耳熟能详了,但是不妨跟着笔者再一次加深理解!

      锁到底是什么呢?对于MySQL有何作用呢?

锁就是给某个计算机资源加把锁(这锁可以理解为跟现实中的门锁一样,当然也有对应的“钥匙”,“钥匙”存放于加锁的那个“人”身上----正常是线程),确保在并发过程中数据的一致性、有效性。


       大家估计都听过数据库的悲观锁和乐观锁,事实上,锁还有其他的分类的。如果从数据库的操作来划分,可以分为读锁和写锁(虽然这两种锁都属于悲观锁)。如果从操作的粒度还可以划分为表锁和行锁。

今天就来谈谈何为表锁,何为行锁。

顾名思义,表锁指的是对数据库的表加上锁,行锁指的就是对表中的某行数据加上锁。从锁的有效范围,不难知道表锁的开销会比较小,锁的速度快,发生锁冲突高,并且并发度也低。相反行锁开销会比较高,锁的速度慢,而且发生锁冲突也比较高,并发度高。

注意,这里也也可以引出MySQL面试过程中经常问到的题目--InnoDB与MYISAM有何不同。这篇文章就蕴含着它们最大的不同点之一,就是InnoDB支持行锁,而MYISAM不支持。(还有一个最大的不同点:InnoDB支持事务(TRANSACTION))

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值