MySQL慢查询分析与处理-第二篇

在第一篇介绍慢查询的文章中,提到了什么是慢查询,如何解读慢日志,如何使用pt-query-digest工具快速分析慢日志,本篇文章接着分享慢查询的常见原因和处理思路。

一、慢查询的常见原因

1、大事务

2、无主键表

3、未有效创建索引

4、统计信息未及时收集导致执行计划不准确

5、多个大表关联

6、大表DDL操作

7、操作系统负载高

8、内存或是磁盘故障导致os性能降低

二、慢查询的处理思路

步骤一:掌握慢SQL语句信息

1、了解该SQL是新上的还是以前就有

2、该SQL以前执行情况如何,现在执行耗时多少

3、该SQL是批量还是联机交易,能容忍的耗时是多少

4、该SQL单次提交是否有限制行数,是哪种类型的SQL

5、该SQL所在事务是否还有其他SQL,其他SQL涉及行数是多少

步骤二:分析慢SQL执行计划

通过explain语句,分析执行计划,检查是否走了索引,对比扫描行数和返回行数。若走了索引,分析索引区分度。

步骤三:优化慢SQL

sql优化和索引优化可以参考前面的文章。

相关推荐
残*影1 小时前
如何优雅地保存MySQL数据变更历史?
数据库·mysql
乐观的Terry2 小时前
3、数据库设计与领域实体
java·数据库·spring boot·spring cloud·ai编程
舞影天上2 小时前
RuoYi-Vue-Plus Docker 部署踩坑:MySQL 中文双重编码的根因与修复
数据库
Wzx1980122 小时前
Redis&ES——Retriever的抽象实现
数据库·人工智能·redis·elasticsearch
G.O.G.O.G3 小时前
《LeetCode SQL 从入门到进阶(MySQL)》06(下)
数据库·sql·oracle
zandy10114 小时前
多租户SaaS架构下的BI数据隔离与权限治理体系
数据库·架构·数据加密
多巴胺梦想家4 小时前
NoSQL 数据库:不只是关系型
数据库·nosql
数字孪生家族4 小时前
3DGS 数据编辑单体化技术:将高斯重建转化为结构化数字空间资产
数据库·3d·高斯泼溅·空间智能应用
广州灵眸科技有限公司5 小时前
瑞芯微RV1126B开发板(EASY-EAI-PI2) 系统操作-线进程操作
数据库·单片机·嵌入式硬件·算法·php
遇见小修修5 小时前
⚠键盘失灵?5 步自查,不用花钱换新键盘
运维·服务器·数据库·计算机外设·电脑·负载均衡