openGauss学习笔记-242 openGauss性能调优-SQL调优-典型SQL调优点-SQL自诊断

文章目录

    • [openGauss学习笔记-242 openGauss性能调优-SQL调优-典型SQL调优点-SQL自诊断](#openGauss学习笔记-242 openGauss性能调优-SQL调优-典型SQL调优点-SQL自诊断)
      • [242.1 SQL自诊断](#242.1 SQL自诊断)
        • [242.1.1 告警场景](#242.1.1 告警场景)
        • [242.1.2 规格约束](#242.1.2 规格约束)

openGauss学习笔记-242 openGauss性能调优-SQL调优-典型SQL调优点-SQL自诊断

SQL调优是一个不断分析与尝试的过程:试跑Query,判断性能是否满足要求;如果不满足要求,则通过查看执行计划分析原因并进行针对性优化;然后重新试跑和优化,直到满足性能目标。

242.1 SQL自诊断

用户在执行查询或者执行INSERT/DELETE/UPDATE/CREATE TABLE AS语句时,可能会遇到性能问题。这种情况下,通过查询GS_WLM_SESSION_STATISTICS 、GS_WLM_SESSION_HISTORY视图的warning字段可以获得对应查询可能导致性能问题的告警信息,为性能调优提供参考。

SQL自诊断的告警类型与resource_track_level的设置有关系。如果resource_track_level设置为query,则可以诊断多列/单列统计信息未收集和SQL不下推的告警。如果resource_track_level设置为operator,则可以诊断所有的告警场景。

SQL自诊断的诊断范围与resource_track_cost的设置有关系。当SQL的代价大于resource_track_cost时,SQL才会被诊断。SQL的代价可以通过explain来确认。

242.1.1 告警场景

目前支持对多列/单列统计信息未收集导致性能问题的场景上报告警。

如果存在单列或者多列统计信息未收集,则上报相关告警。调优方法可以参考更新统计信息 和统计信息调优。

告警信息示例:

整表的统计信息未收集:

markdown 复制代码
Statistic Not Collect:
    schema_test.t1

单列统计信息未收集:

css 复制代码
Statistic Not Collect:
    schema_test.t2(c1,c2)

多列统计信息未收集:

css 复制代码
Statistic Not Collect:
    schema_test.t3((c1,c2))

单列和多列统计信息未收集:

css 复制代码
Statistic Not Collect:
    schema_test.t4(c1,c2)    schema_test.t4((c1,c2))
242.1.2 规格约束
  1. 告警字符串长度上限为2048。如果告警信息超过这个长度(例如存在大量未收集统计信息的超长表名、列名等信息)则不告警,只上报warning:

    bash 复制代码
    WARNING, "Planner issue report is truncated, the rest of planner issues will be skipped"
  2. 如果query存在limit节点(即查询语句中包含limit),则不会上报limit节点以下的Operator级别的告警。

👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!

✏️ 评论,你的意见是我进步的财富!

相关推荐
编码追梦人3 分钟前
基于 ESP32-S3 的便携式多参数环境监护仪设计:从硬件选型到 FreeRTOS 多任务落地
数据库·单片机·嵌入式硬件·mongodb·esp32·freertos·低功耗设计
sunburn-8 分钟前
数据库增删改查:从 SQL 基础到实践要点
java·数据库·mysql
誰能久伴不乏2 小时前
桌面客户端的运行日志系统:SQLite 分块 + 独立写线程 + 文本降级
数据库·c++·qt·架构·sqlite
程序员清风10 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
正在走向自律11 小时前
数据集成产品的技术底座:从日志解析原理到 KFS 同步链路搭建(含建表与增删改查完整代码)
数据库·oracle·信创·数据集成·国产数据库·kingbasees·全量+增量同步
程序员塔塔喵11 小时前
【MySQL篇|第七篇】MySQL事务
数据库·mysql·mysql事务
独隅12 小时前
Claude API 实战教程:从入门到完整项目
android·java·数据库·claude·claude code
_孤傲_12 小时前
快速掌握 MySQL 语法
数据库·后端·mysql
数字新视界14 小时前
一体化机柜在数据中心运维中的创新应用与优势分析
大数据·服务器·数据库·动环监控系统·动力与环境监控系统
SelectDB14 小时前
从 StarRocks 走向 Apache Doris:如何实现引擎平滑替换与架构升级?
大数据·数据库·数据分析