慢SQL管理
慢SQL管理是工业数字模型驱动引擎-数据建模引擎(xDM Foundation,简称xDM-F)提供的一种数据库性能分析与优化功能。它通过监控、采集和分析高耗时的SQL语句,帮助用户快速定位性能瓶颈、优化查询效率,保障工业系统在复杂负载下的稳定与高效运行。
在实际业务场景(如产品生命周期管理(PLM)协同研发、智能制造数据采集)中,系统长期运行与海量数据累积可能导致数据库查询性能下降。慢SQL管理功能借助“SQL指纹”技术,将结构相同、仅参数不同的SQL语句抽象为统一模板并生成唯一标识,实现相似SQL的归类聚合与高频低效查询的精准统计。例如:“SELECT * FROM product WHERE id = 1”和“SELECT * FROM product WHERE id = 2”会被归并为同一指纹模板“SELECT * FROM product WHERE id = ?”。
在采集机制上,系统能够自动识别并采集执行时间超过阈值的SQL语句。默认情况下,系统每10分钟自动执行一次采集与分析任务,无需人工干预。
约束与限制
- 建议定期检查慢SQL记录,避免因低效SQL长期影响系统整体性能。
- 对于高频出现的慢SQL,应优先优化相关业务逻辑或数据库索引。
前提条件
已登录应用运行态。
查看SQL指纹概览信息
在左侧导航栏中,单击“慢SQL管理”,进入慢SQL管理页面。
页面默认展示所有SQL指纹,您可直观浏览以下核心字段:
| 字段 | 说明 |
|---|---|
| 级别 | SQL指纹的性能严重等级,分为LOW(低)、MEDIUM(中)、HIGH(高)。
|
| SQL模板 | 即SQL指纹。系统将同一业务逻辑可能在不同时间、不同参数下执行的多条相似SQL,通过“SQL指纹”技术抽象为统一模板并唯一标识。这有助于统计热点问题与分析性能瓶颈,有效减少分析工作量,提高问题定位效率。 |
| 均耗时(ms) | 当前SQL指纹下所有原始SQL语句执行时间的平均值。此指标反映了常规场景下的SQL性能基准。 |
| 最大耗时(ms) | 当前SQL指纹下所有原始SQL语句执行时间的最大值。此指标有助于识别极端场景下的性能抖动或长尾延迟。 |
| 总次数 | 当前SQL指纹对应的原始SQL语句累计执行次数。即便单次耗时较低,高频执行仍会产生显著性能累积影响,需要结合执行频率与耗时综合评估。 |
| 分析状态 | 标识当前SQL指纹的诊断进度,包含未分析、分析中、已分析、分析失败四种状态。 |
| 操作 | 提供详情入口,单击即可查看当前SQL指纹的详细信息。 |
查看某个SQL指纹的详细信息
- 在左侧导航栏中,单击“慢SQL管理”,进入慢SQL管理页面。
- 找到目标SQL指纹,单击其“操作”列的
,展开SQL指纹详情页面。 图2 查看SQL指纹详情
详情页面主要包含以下页签:
图3 SQL指纹详情页
页签
说明
基本信息
展示该SQL指纹的基础元数据,包括:
- 基本信息:展示SQL模板、均扫描(行数)、总次数等。
- 历史分析:系统默认每10分钟自动采集与分析慢SQL。当SQL指纹中的原始SQL语句发生变更时,系统将自动采集其中耗时最长的慢SQL进行分析,并将结果存入“历史分析”记录,形成性能演变的完整记录,持续优化闭环。
分析详情
在“历史分析”区域,单击目标分析记录“操作”列的
,即可切换至“分析详情”页签,查看具体分析信息,包括本次分析的原始SQL、根因分析、详细分析及优化建议。
搜索SQL指纹
默认情况下,“慢SQL管理”页展示的是当前逻辑租户下的全部SQL指纹。为了帮助用户快速定位目标SQL指纹,xDM-F提供搜索功能,支持按严重级别、分析状态、关键字等属性维度进行过滤。
- 在左侧导航栏中,单击“慢SQL管理”,进入慢SQL管理页面。
- 根据实际需求设置筛选条件,单击“搜索”,即可获取符合条件的SQL指纹。 图4 搜索SQL指纹