当前位置:   article > 正文

MySQL —— 锁机制_mysql查询会锁表吗

mysql查询会锁表吗

概念

锁是计算机协调多个进程或线程并发访问某一资源的机制(避免争抢)
在数据库中,除传统的计算机资源(如cpu、i/o等)的争用以外,数据也是一种供许多用户共享的资源。如何保证数据并发访问的一致性和有效性,是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素。从这个角度来说,锁对数据库而言显得尤为重要,也更加复杂。

分类

从对数据操作的粒度分:

  • 表锁:操作时,会锁住整张表
  • 行锁:操作时,会锁住当前操作行

从对数据操作的类型分:

  • 读锁(共享锁):针对同一份数据,多个读操作可以同时进行而不会互相影响
  • 写锁(排它锁):当前操作没有完成之前,它会阻断其他写锁和读锁

注意: MyISAM支持表锁,不支持行锁;InnoDB支持表锁,也支持行锁

特性

锁类型 特点
表级锁 偏向MyISAM存储引擎,开销小,加锁快,不会出现死锁,锁粒度大,发生锁冲突的概率最高,并发度最低
行级锁 偏向InnoDB存储引擎,开销大,加锁慢,会出现死锁,锁粒度最小,发生锁冲突的概率最低,
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/750568
推荐阅读
相关标签
  

闽ICP备14008679号