导致锁表的原因及解决方法
一、导致锁表的原因
1、锁表发生在insert update 、delete 中;
2、锁表的原理是 数据库使用独占式封锁机制,当执行上面的语句时,对表进行锁住,直到发生commite 或者 回滚 或者退出数据库用户;
3、锁表的原因 :
1)、A程序执行了对 tableA 的 insert ,并还未 commite时,B程序也对tableA 进行insert 则此时会发生资源正忙的异常 就是锁表;
2)、锁表常发生于并发而不是并行(并行时,一个线程操作数据库时,另一个线程是不能操作数据库的,cpu 和i/o 分配原则)
4、减少锁表的概率:
减少insert 、update 、delete 语句执行 到 commite 之间的时间。
具体点批量执行改为单个执行、优化sql自身的非执行速度
如果异常对事物进行回滚。
二、mysql锁表的解决
#查看进程id,然后用kill id杀掉进程
show processlist;
SELECT * FROM information_schema.PROCESSLIST;
#查询正在执行的进程
SELECT * FROM information_schema.PROCESSLIST where length(info) >0 ;
#查询是否锁表
show OPEN TABLES where In_use > 0;
#查看被锁住的
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS;
#等待锁定
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS;
#杀掉锁表进程
kill 5601
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
导致锁表的原因及解决方法相关推荐
- Mysql 数据库锁表的原因和解决方法
Mysql 数据库锁表的原因和解决方法 参考文章: (1)Mysql 数据库锁表的原因和解决方法 (2)https://www.cnblogs.com/xinruyi/p/11108795.html ...
- libc.so.6被删后导致系统无法使用的原因及解决方法
libc.so.6被删后导致系统无法使用的原因及解决方法 参考文章: (1)libc.so.6被删后导致系统无法使用的原因及解决方法 (2)https://www.cnblogs.com/weijin ...
- 导致403错误的原因和解决方法
一.导致403错误的主要原因 403 Forbidden错误的原因和解决方法 1.你的IP被列入黑名单. 2.你在一定时间内过多地访问此网站(一般是用采集程序),被防火墙拒绝访问了. 3.网站域名解析 ...
- vb 如何检测打印机是否联机_打印机提示该文档未能打印导致打印失败的原因及解决方法...
打印机打印时,一直出现该文档未能打印的提示,如何解决这个问题?在使用打印机的时候,偶尔会出现提示该文档未能打印,打印失败的状况,这是怎么回事?下面就给大家分析下具体原因及其解决办法. 一.打印机处于脱 ...
- where is null mysql_SQL中WHERE变量IS NULL条件导致全表扫描问题的解决方法
SET @SQL = 'SELECT * FROM Comment with(nolock) WHERE 1=1 And (@ProjectIds Is Null or ProjectId = @Pr ...
- 计算机中毒后开机变慢,几种导致电脑开机慢的原因以及解决方法
如果电脑开机时间超过40秒我们就会感觉等了好几分钟,电脑开机太慢总能让许多人感觉到烦!电脑开机速度太慢的原因有很多,了解具体问题解决问题.让你的电脑开机速度能击败全国百分之99电脑! 开始速度慢的原因 ...
- mysql 提示表不存在的解决方法error 1146 Table doesn't exist
直接拷贝数据库导致提示表不存在的解决方法 电脑重装系统后把原来的mysql data复制进去后大部分表是可以访问的,但是有几个表提示表不存在: error: 1146: Table 'your_tab ...
- oracle锁表原因,解决方法
1.oracle数据库表在操作insert update .delete 时忘记提交事务或者回滚,就会发生锁表 2.锁表的原理是 数据库使用独占式封锁机制,当执行上面的语句时,对表进行锁住,直到发 ...
- MySQL--死锁的原因及解决方法
原文网址:MySQL--死锁的原因及解决方法_IT利刃出鞘的博客-CSDN博客 简介 说明 本文介绍MySQL死锁的原因及解决方法. InnoDB中,除单个SQL组成的事务外,锁是逐步获得的,所以可能 ...
- layui表单提交使用form.on(‘submit(sub)‘,function (){}) 使用ajax请求时回调不执行的原因及解决方法
layui表单提交使用form.on('submit(sub)',function (){}) 使用ajax请求时回调不执行的原因及解决方法 参考文章: (1)layui表单提交使用form.on(' ...
最新文章
- Spring源码分析【1】-Tomcat的初始化
- redis(3)-redis基本类型
- ES6中this的三种用法
- 《系统集成项目管理工程师》必背100个知识点-98大数据的特点
- 缓存,确实很香,却也很受伤!
- Linux——find命令常见用法
- python中的dict是什么数据类型_Python数据类型之字典(dict)
- android qt 串口通信,Qt串口通信开发之QSerialPort模块详细使用方法与实例
- portlet_Portlet生命周期
- necos 分布式配置中心 配置方法 动态修改值 切换生产环境
- Extjs EditorGridPanel功能
- Excel技能培训之十四 统计函数count,countif,counta,countblank,large,small,average,max,min
- Java开发工程师如何做好职业规划和成长路线
- 计算机视觉项目实战-驾驶员疲劳检测
- 【转载】教你怎么将centos7打造成桌面系统
- PageOffice——动态填充Word模板并在线编辑
- 浅析GIS行业地图绘制基本要求
- DEEPIN系统下安装wine
- 专题采访高维视力复健体系创始人 两天看清2.0的四维六度空间集训法
- OpenGov(一):什么是Polkadot Gov2