当前位置: 首页 > news >正文

mysql 数据库表被锁住了_MYSQL数据库MYSQL 解锁与锁表介绍

《MYSQL数据库MYSQL 解锁与锁表介绍》要点:

本文介绍了MYSQL数据库MYSQL 解锁与锁表介绍,希望对您有用。如果有疑问,可以联系我们。

MYSQL学习MySQL锁概述

相对其他数据库而言,MySQL的锁机制比拟简单,其最显著的特点是不同的存储引擎支持不同的锁机制.比如,MyISAM和MEMORY存储引擎采用的是表级锁(table-level locking);BDB存储引擎采用的是页面锁(page-level locking),但也支持表级锁;InnoDB存储引擎既支持行级锁(row-level locking),也支持表级锁,但默认情况下是采用行级锁.

MySQL这3种锁的特性可大致归纳如下.

开销、加锁速度、死锁、粒度、并发性能

l         表级锁:开销小,加锁快;不会出现死锁;锁定粒度大,发生锁冲突的概率最高,并发度最低.

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

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

MyISAM表锁

MYSQL学习MyISAM存储引擎只支持表锁,这也是MySQL开始几个版本中唯一支持的锁类型.随着应用对事务完整性和并发性要求的赓续提高,MySQL才开始开发基于事务的存储引擎,后来慢慢出现了支持页锁的BDB存储引擎和支持行锁的InnoDB存储引擎(实际 InnoDB是单独的一个公司,现在已经被Oracle公司收购).但是MyISAM的表锁依然是使用最为广泛的锁类型.本节将详细介绍MyISAM表锁的使用.

查询表级锁争用情况

MYSQL学习可以通过检查table_locks_waited和table_locks_immediate状态变量来分析系统上的表锁定争夺:

mysql> show status like 'table%';

+-----------------------+-------+

| Variable_name         | Value |

+-----------------------+-------+

| Table_locks_immediate | 2979  |

| Table_locks_waited    | 0     |

+-----------------------+-------+

2 rows in set (0.00 sec))

如果Table_locks_waited的值比拟高,则说明存在着较严重的表级锁争用情况.

获取InnoDB行锁争用情况

MYSQL学习可以通过检查InnoDB_row_lock状态变量来分析系统上的行锁的争夺情况:

mysql> show status like 'innodb_row_lock%';

+-------------------------------+-------+

| Variable_name                 | Value |

+-------------------------------+-------+

| InnoDB_row_lock_current_waits | 0     |

| InnoDB_row_lock_time          | 0     |

| InnoDB_row_lock_time_avg      | 0     |

| InnoDB_row_lock_time_max      | 0     |

| InnoDB_row_lock_waits         | 0     |

+-------------------------------+-------+

5 rows in set (0.01 sec)

如果发现锁争用比拟严重,如InnoDB_row_lock_waits和InnoDB_row_lock_time_avg的值比拟高,还可以通过

MYSQL进修解锁

MYSQL进修第一种

MYSQL进修show processlist;

MYSQL学习找到锁过程,kill id ;

MYSQL进修第二种

MYSQL进修mysql>UNLOCK TABLES;

MYSQL进修锁表

MYSQL学习锁定数据表,避免在备份进程中,表被更新

MYSQL进修mysql>LOCK TABLES tbl_name READ;

MYSQL进修为表增加一个写锁定:

MYSQL进修mysql>LOCK TABLES tbl_name WRITE;

欢迎参与《MYSQL数据库MYSQL 解锁与锁表介绍》讨论,分享您的想法,编程之家PHP学院为您提供专业教程。

相关文章:

  • 华为设备如何将接口配置为中继模式_华为5700系列交换机常用配置示例
  • 前端图片合成技术_前端图片合并方案调研
  • 可靠性测试设备技术含量_设备软件可靠性测试
  • plsql怎么用字段查表明_在oracle中怎么通过字段名查询其所在的表
  • 微信小程序云开发用户身份登录_微信小程序+云开发实现欢迎登录注册
  • pandas提取时间里面的年月日_pandas进行时间数据的转换和计算时间差并提取年月日...
  • iserdese2接口详解_Xilinx Notes
  • postman启动没反应_高压软起动通电没反应维修控制器烧毁
  • python策略模式包含以下哪些角色_python---策略模式
  • mybatis 插件_建议收藏,mybatis插件原理详解
  • h5引入json_Html5页面内使用JSON动画的实现
  • bootstrap列表加序号_用vue.js做一个列表,类似于百度的搜索排名,用v-for来循环...
  • 中将2个map的值合并_如果是我,不纠结卫生间留1个还是2个,主卫次卫大合并,宽敞舒适...
  • 宋佳机器人_丝路电影节|宋佳专访:特殊时期用电影抚慰人心 是很温暖的事
  • ipv4的地址位数_网络基础之IP地址和子网掩码
  • Google 是如何开发 Web 框架的
  • 《Javascript数据结构和算法》笔记-「字典和散列表」
  • eclipse的离线汉化
  • JAVA_NIO系列——Channel和Buffer详解
  • JSONP原理
  • PAT A1120
  • PHP 的 SAPI 是个什么东西
  • PHP变量
  • puppeteer stop redirect 的正确姿势及 net::ERR_FAILED 的解决
  • RxJS 实现摩斯密码(Morse) 【内附脑图】
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 工作中总结前端开发流程--vue项目
  • 两列自适应布局方案整理
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 算法---两个栈实现一个队列
  • 小程序测试方案初探
  • Nginx惊现漏洞 百万网站面临“拖库”风险
  • ​Spring Boot 分片上传文件
  • ​比特币大跌的 2 个原因
  • #define
  • ( 10 )MySQL中的外键
  • (14)Hive调优——合并小文件
  • (NO.00004)iOS实现打砖块游戏(十二):伸缩自如,我是如意金箍棒(上)!
  • (附源码)ssm捐赠救助系统 毕业设计 060945
  • (剑指Offer)面试题34:丑数
  • (十三)Maven插件解析运行机制
  • ..回顾17,展望18
  • .NET 6 Mysql Canal (CDC 增量同步,捕获变更数据) 案例版
  • .NET Framework Client Profile - a Subset of the .NET Framework Redistribution
  • .net web项目 调用webService
  • .Net调用Java编写的WebServices返回值为Null的解决方法(SoapUI工具测试有返回值)
  • .NET国产化改造探索(三)、银河麒麟安装.NET 8环境
  • .Net语言中的StringBuilder:入门到精通
  • .NET中的Exception处理(C#)
  • @在php中起什么作用?
  • [ element-ui:table ] 设置table中某些行数据禁止被选中,通过selectable 定义方法解决
  • [1204 寻找子串位置] 解题报告
  • [autojs]逍遥模拟器和vscode对接
  • [BZOJ 3680]吊打XXX(模拟退火)