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来确认。
本文详细介绍了openGauss数据库的SQL自诊断功能,包括如何通过GS_WLM_SESSION_STATISTICS和GS_WLM_SESSION_HISTORY视图获取性能警告信息。SQL自诊断针对resource_track_level的不同设置,提供不同类型的告警,如统计信息未收集等问题。告警场景主要关注多列/单列统计信息未收集,同时提到了规格约束,如告警字符串长度限制和特定情况下的告警抑制。
订阅专栏 解锁全文
1136

被折叠的 条评论
为什么被折叠?



