mysql数据库锁按粒度可以分为什么

mysql数据库锁按粒度可以分为什么,第1张

概述mysql数据库锁按粒度可以分为什么

按粒度可以分为:1、行级锁,MysqL中锁定粒度最细的一种锁,表示只针对当前 *** 作的行进行加锁;2、表级锁,MysqL中锁定粒度最大的一种锁,表示对当前 *** 作的整张表加锁;3、页级锁,MysqL中锁定粒度介于行级锁和表级锁中间的一种锁。

本教程 *** 作环境:windows7系统、MysqL8版本、Dell G3电脑。

在关系型数据库中,可以按照锁的粒度把数据库锁分为行级锁(INNODB引擎)、表级锁(MYISAM引擎)和页级锁(BDB引擎 )。

MyISAM和InnoDB存储引擎使用的锁:

MyISAM采用表级锁(table-level locking)。

InnoDB支持行级锁(row-level locking)和表级锁,默认为行级锁。

行级锁,表级锁和页级锁对比

行级锁:MysqL中锁定粒度最细的一种锁,表示只针对当前 *** 作的行进行加锁。行级锁能大大减少数据库 *** 作的冲突。其加锁粒度最小,但加锁的开销也最大。行级锁分为共享锁和排他锁。

特点:开销大,加锁慢;会出现死锁;锁定粒度最小,发生锁冲突的概率最低,并发度也最高。

表级锁:MysqL中锁定粒度最大的一种锁,表示对当前 *** 作的整张表加锁,它实现简单,资源消耗较少,被大部分MysqL引擎支持。最常使用的MyISAM与InnoDB都支持表级锁定。表级锁定分为表共享读锁(共享锁)与表独占写锁(排他锁)。

特点:开销小,加锁快;不会出现死锁;锁定粒度大,发出锁冲突的概率最高,并发度最低。

页级锁:是MysqL中锁定粒度介于行级锁和表级锁中间的一种锁。表级锁速度快,但冲突多,行级冲突少,但速度慢。所以取了折衷的页级,一次锁定相邻的一组记录。

特点:开销和加锁时间界于表锁和行锁之间;会出现死锁;锁定粒度界于表锁和行锁之间,并发度一般

相关免费学习推荐:mysql视频教程 总结

以上是内存溢出为你收集整理的mysql数据库锁按粒度可以分为什么全部内容,希望文章能够帮你解决mysql数据库锁按粒度可以分为什么所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/1150082.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-31
下一篇 2022-05-31

发表评论

登录后才能评论

评论列表(0条)

保存