当前位置:首页 > MySQL教程 > 正文内容

MySQL中行锁、页锁和表锁的简朴引见【MySQL教程】,mysql

搜教程4年前 (2019-12-01)MySQL教程168
MySQL中根据锁的粒度能够细分为行锁、页锁、表锁。

行锁

1、行锁的锁定颗粒度在MySQL中是最细的,运用于InnoDB存储引擎,只针对操纵确当前行举行加锁。并发状况下,发作锁守候的几率较低,支撑较大的并发数,但开支大,加锁慢,而且会涌现死锁。

2、在InnoDB中运用行锁有一个前提前提:检索数据时须要经由过程索引!由于InnoDB是经由过程给索引的索引项加锁来实现行锁的。

3、在不经由过程索引前提查询的时刻,InnoDB会运用表锁,这在并发较大时,能够致使大批的锁争执。另外,行锁是针对索引加锁,存在这类状况,虽然是接见的差别纪录,但运用的是统一索引项,也能够会涌现锁争执。

提醒:不一定运用了索引检索就一定会运用行锁,也有能够运用表锁。由于MySQL会比较差别执行计划的价值,当全表扫描比索引效力更高时,InnoDB就运用表锁。因而须要连系SQL的执行计划去剖析锁争执。

4、行锁会发作死锁,由于在行锁中,锁是逐渐取得的,重要分为两步:锁住主键索引,锁住非主键索引。如:当两个事件同时执行时,一个锁住了主键索引,在守候其他索引;另一个锁住了非主键索引,在守候主键索引。如许便会发作死锁。InnoDB平常都能够检测到这类死锁,并使一个事件开释锁回退,另一个猎取锁完成事件。

表锁
表锁的锁定颗粒度在MySQL中是最粗的,InnoDB、MyISAM引擎中都有运用,对当前整张表加锁。不适合高并发的场景,但开支小,加锁快,不会涌现死锁,发作锁争执的几率最大。

页锁
页锁的粒度介于行锁和表锁之间,运用于BDB引擎,并发度平常,开支和加锁速率也介于行锁和表锁之间。

以上就是MySQL中行锁、页锁和表锁的简朴引见的细致内容,更多请关注ki4网别的相干文章!

扫描二维码推送至手机访问。

版权声明:本文由搜教程网发布,如需转载请注明出处。

本文链接:https://www.sojiaocheng.cn/15598.html

标签: mysql
分享给朋友:

“MySQL中行锁、页锁和表锁的简朴引见【MySQL教程】,mysql” 的相关文章

mysql群集索引的有哪些瑕玷【MySQL教程】,mysql,缺点,哪些

 聚簇索引并非一种零丁的索引范例,而是一种数据存储体式格局(不是数据构造,而是存储构造),细致细节依赖于其完成体式格局,但innodb的聚簇索引实际上是在同一个构造中保留了btree索引和数据行。   当表有索引时,它的数据行实际上存放在索引的叶子页中,属于聚簇示意数据行和相邻的键值紧凑地存储在一...

mysql列column常用命令的运用总结【MySQL教程】,column,mysql,使用

mysql列column常用命令的运用总结【MySQL教程】,column,mysql,使用

本文主要内容mysql 列常用命令: 检察表的列的属性 describe table_name column_name show all column property检察一切列的属性 修正表的列属性 alter table <表名> modify <列> &...

MySQL中关于prepare道理的详解【MySQL教程】,prepare,MySQL,详解

这篇文章重要引见了MySQL prepare的相干内容,包括prepare的发生,在服务器端的实行历程,以及jdbc对prepare的处置惩罚以及相干测试,须要的朋侪能够了解下。愿望对人人有所协助。 Prepare的优点 Prepare SQL发生的缘由。首先从mysql服务器实行sql...

MySQL两大存储引擎InnoDB与MyISAM的区分【MySQL教程】,InnoDB,MySQL,引擎

1.InnoDB存储引擎 MySQL5.5中InnoDB成为默许的存储引擎。InnoDB是事件型存储引擎,被设想用来处置惩罚大批的短时间事件。它的机能和自动崩溃恢复特征,使得它在非事件场景中也很盛行。 所以可以这么说:“除非须要用到某些InnoDB不具备的特征,而且没有其他方法可以替换,...

Navicat for MySQL定时备份数据库及数据恢复操纵【MySQL教程】,Navicat,MySQL,数据库

Navicat for MySQL定时备份数据库及数据恢复操纵【MySQL教程】,Navicat,MySQL,数据库

在做数据库修正或删除操纵中,可能会致使数据毛病,以至数据库奔溃,而有用的定时备份能很好地庇护数据库。本篇文章重要报告Navicat for MySQL定时备份数据库和数据恢复等功能,同时能够定时播放影戏等设置,愿望对您有所协助,假如文章中存在毛病或不足之处,还请包涵~ 一. 设置设计使命定...

关于Mysql事务性【MySQL教程】,Mysql,事务性,关于

1》事件指的是什么?    事件能够看作一个营业逻辑处置惩罚单位,这个单位要么执行,要么不执行; 2》ACID的准绳:   (1)原子性(Automicity)   (2)一致性(Consistency)     A 账户有3000块, B 账户2000快,     --A -...