首页
技术博客
PHP教程
数据库技术
前端开发
HTML5
Nginx
php论坛
新用户注册
|
会员登录
PHP教程
技术博客
编程问答
PNG素材
编程语言
前端技术
Android
PHP教程
HTML5教程
数据库
Linux技术
Nginx技术
PHP安全
WebSerer
职场攻略
JavaScript
开放平台
业界资讯
大话程序猿
登录
极速注册
取消
热门标签 | HotTags
gzip
gcc
openssl
package
yaf
rabbitmq
go
memcache
http2
webhooks
frontend
mq
微服务
cpython
php绘图
织梦cms
caching
session
dns
nodejs
pdo
lavarel
touch
webserver
rust
php5
smtp
ffmpeg
base64
并发
static
php
storage
sms
redis
python
varnish
sockets
爬虫
swoole
wordpress
压力测试
stdout
正则
crash
pipe
yii
vb
ci
spring
interface
ssl
port
makefile
hashmap
crontab
tengine
phpunit
pipeline
uuid
timezone
上传
x86
cookies
timeout
log4j
c语言
ruby
curl
iis
pip
cPlusPlus
lua
mqtt
syslog
漏洞
web3
okhttp
queue
当前位置:
开发笔记
>
后端
> 正文
MySQLInnodbTableLock
作者:林姗飘零1999 | 来源:互联网 | 2023-06-03 10:48
MySQL发生锁表异常描述DBA反馈监控异常日志,23点某dml-update语句锁表10m异常分析根据DBA提供的SQL检索表中数据,发现检索结果
MySQL 发生锁表
异常描述
DBA 反馈监控异常日志,23点某 dml - update 语句锁表 10 m
异常分析
根据 DBA 提供的SQL
检索表中数据,发现检索结果为空
多条SQL执行时间接近,最多相差 1s
定位场景:锁表的场景,多个数据连接对同一个数据进行操作
场景复原:因为表中没有此条数据,所以默认指向了表中数据count数的下一条,所有SQL查询结果都指向了此条不存在的数据,相当于同一时间内多个数据库连接对同一条数据进行操作
问题定位:为何会有不属于该表的数据却在该表中做 update 操作
未实现某一个功能时,一个特定的功能,只针对某一特定的场景,但是没有加过滤条件,导致所有数据都会进行此操作
另外一个原因在于功能实现采用组合模式,每一个叶子节点的都是顺次执行的,无论是什么业务场景,及时不符合,也会进入该叶子节点进行逻辑处理,浪费时间及空间
异常总结
锁表的原因
1
:
当多个连接(数据库连接)同时对一个表的数据进行更新操作,那么速度将会越来越慢,持续一段时间后将出现数据表被锁的现象,从而影响到其它的查询及更新
MySQL的innodb存储引擎支持行级锁,innodb的行锁是通过给索引项加锁实现的,这就意味着只有通过索引条件检索数据时,innodb才使用行锁,否则使用表锁
用索引字段做为条件进行修改时, 是否表锁的取决于这个索引字段能否确定记录唯一,当索引值对应记录不唯一,会进行锁表,相反则行锁
同一个表,如果进行删除操作时,尽量让删除条件唯一,否则会相互影响造成锁表
如果在事务中执行了一条不满足条件的update语句,则执行全表扫描,把行级锁上升为表级锁
2
总结-Mysql数据库锁表的原因和解决方法 ↩︎
数据库锁表及阻塞的原因和解决办法 ↩︎
mysql
日志
sql
数据库
写下你的评论吧 !
吐个槽吧,看都看了
会员登录
|
用户注册
推荐阅读
数据库
通过Web界面管理Linux日志的解决方案
本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ...
[详细]
蜡笔小新 2024-12-24 17:11:38
go
深入解析JDBC源码
本文详细探讨了JDBC(Java数据库连接)的内部机制,重点分析其作为服务提供者接口(SPI)框架的应用。通过类图和代码示例,展示了JDBC如何注册驱动程序、建立数据库连接以及执行SQL查询的过程。 ...
[详细]
蜡笔小新 2024-12-25 19:59:15
并发
MySQL索引详解与优化
本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ...
[详细]
蜡笔小新 2024-12-25 19:52:47
并发
深入理解领域驱动设计及其实践
本文探讨了领域驱动设计(DDD)的核心概念、应用场景及其实现方式,详细介绍了其在企业级软件开发中的优势和挑战。通过对比事务脚本与领域模型,展示了DDD如何提升系统的可维护性和扩展性。 ...
[详细]
蜡笔小新 2024-12-25 18:45:55
并发
对MariaDB未来发展的思考与担忧
本文探讨了MariaDB在当前数据库市场中的地位和挑战,分析其可能面临的困境,并提出了对未来发展的几点看法。 ...
[详细]
蜡笔小新 2024-12-25 18:20:32
并发
掌握Java EE的全面指南
探讨如何真正掌握Java EE,包括所需技能、工具和实践经验。资深软件教学总监李刚分享了对毕业生简历中常见问题的看法,并提供了详尽的标准。 ...
[详细]
蜡笔小新 2024-12-25 13:38:29
rabbitmq
Python入门指南:从零开始的全面学习路线
本文详细介绍了Python编程语言的学习路径,涵盖基础语法、常用组件、开发工具、数据库管理、Web服务开发、大数据分析、人工智能、爬虫开发及办公自动化等多个方向。通过系统化的学习计划,帮助初学者快速掌握Python的核心技能。 ...
[详细]
蜡笔小新 2024-12-25 12:54:33
并发
C++面试高频题
作者:守望者1028链接:https:www.nowcoder.comdiscuss55353来源:牛客网面试高频题:校招过程中参考过牛客诸位大佬的面经,但是具体哪一块是参考谁的我 ...
[详细]
蜡笔小新 2024-12-25 12:32:36
go
TCP长连接设备管理平台:架构与功能概览
本文介绍了基于TCP长连接的设备管理平台的设计理念、技术选型及主要功能模块。最初,项目旨在实现简单的协议测试,但随着需求扩展,逐步演变为一个完整的前后端分离系统。 ...
[详细]
蜡笔小新 2024-12-25 09:07:38
go
使用Pandas高效读取SQL脚本中的数据
本文详细介绍了如何利用Pandas直接读取和解析SQL脚本,提供了一种高效的数据处理方法。该方法适用于各种数据库导出的SQL脚本,并且能够显著提升数据导入的速度和效率。 ...
[详细]
蜡笔小新 2024-12-24 21:56:10
go
MySQL DateTime 类型数据处理及.0 尾数去除方法
本文介绍如何在 MySQL 中处理 DateTime 类型的数据,并解决获取数据时出现的.0尾数问题。同时,探讨了不同场景下的解决方案,确保数据格式的一致性和准确性。 ...
[详细]
蜡笔小新 2024-12-24 19:25:10
go
分组获取最大N条记录的优化方案及新年祝福
探讨如何从数据库中按分组获取最大N条记录的方法,并分享新年祝福。本文提供多种解决方案,适用于不同数据库系统,如MySQL、Oracle等。 ...
[详细]
蜡笔小新 2024-12-24 12:30:56
go
QT预备式(包含MySql配置)未完成……
20100423:Fixes:更新批处理,以兼容WIN7。第一次系统地玩QT,于是诞生了此预备式:【QT版本4.6.0&#x ...
[详细]
蜡笔小新 2024-12-24 09:50:00
go
解析SQL查询结果的排序问题及其解决方案
本文探讨了为什么某些SQL查询返回的数据集未能按预期顺序排列,并提供了详细的解决方案,帮助开发者理解并解决这一常见问题。 ...
[详细]
蜡笔小新 2024-12-23 21:21:17
go
openGauss每日一练:第6天 - 模式的创建、修改与删除
本篇笔记记录了openGauss数据库中关于模式(Schema)的创建、修改和删除操作。通过这些操作,用户可以更好地管理和控制数据库对象。实验环境为openGauss 2.0.0,并使用由墨天轮提供的线上环境。 ...
[详细]
蜡笔小新 2024-12-26 00:17:35
林姗飘零1999
这个家伙很懒,什么也没留下!
Tags | 热门标签
gzip
gcc
openssl
package
yaf
rabbitmq
go
memcache
http2
webhooks
frontend
mq
微服务
cpython
php绘图
织梦cms
caching
session
dns
nodejs
pdo
lavarel
touch
webserver
rust
php5
smtp
ffmpeg
base64
并发
RankList | 热门文章
1
Maven没有正确地选择JAVA_HOME - Maven not picking JAVA_HOME correctly
2
重新命名和删除约束
3
Java Performance Tuning笔记
4
ASP.NET获取IP与MAC[using C#]
5
DJango_Django 模板
6
Mysql存储级别_mysql的权限级别
7
windows443端口和80端口被占用怎么解决
8
正则表达式 php 模板,PHP中正则表达式回顾(4)编写一个非常简单而且山寨的smarty模板引擎...
9
基础_Jsp编程的基础模型
10
ObjectiveC中有没有办法比较两个方法的地址
11
NBIoTDTU对比于3G/4G DTU的区别和优势
12
图文实践给***KVM架构配置IPV6的过程
13
gitpod.io,云端开发调试工具。
14
iOS 12 beta8如何更新? iOS 12 beta8更新方法攻略介绍!
15
引入 ServletContextListener @Autowired null 解决办法
PHP1.CN | 中国最专业的PHP中文社区 |
DevBox开发工具箱
|
json解析格式化
|
PHP资讯
|
PHP教程
|
数据库技术
|
服务器技术
|
前端开发技术
|
PHP框架
|
开发工具
|
在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved |
京公网安备 11010802041100号
|
京ICP备19059560号-4
| PHP1.CN 第一PHP社区 版权所有