慢SQL出现的情况汇总
一般出现慢SQL,也就是以下的几种情况
1、聚合查询
2、多表查询
3、表数据量过大
4、深度分页查询
对于我们使用方来说,表象就是页面数据加载过慢,接口压测时间过长(超过1s)
定位慢SQL工具
方案一
通过开源工具
1、调试工具
Arthas
Arthas 是阿里巴巴开源的 Java 诊断工具,主要用于定位和复现生产环境中的问题。它可以在线排查问题,动态追踪 Java 代码,实时监控 JVM 状态等。通过 Arthas,开发人员可以轻松地获取指定类的加载路径和异常信息,查看类的代码信息,以及动态替换代码进行调试。此外,Arthas 还可以解决一些难以在线上 debug 的问题,如分支错误、类加载问题等。
Arthas 支持 JDK 6+,可以在 Linux、Mac 和 Windows 等操作系统上运行,采用命令行交互模式,提供丰富的 Tab 自动补全功能,方便进行问题的定位和诊断。使用 Arthas,开发人员可以更加高效地排查和解决问题,提高开发效率。
2、运维工具
Prometheus、Skywalking
Prometheus介绍:
Prometheus是一个开源的系统监控报警框架,旨在提供灵活、可扩展的数据模型和高效的查询语言,并且具备自动服务发现功能。它的主要特点是:
数据模型灵活:Prometheus采用多维数据模型,通过时间序列中的度量名和键值对来区分不同的数据维度。所有的度量都可以设置任意的多维标签,使得数