当前位置: 首页 > article >正文

GBase8c 慢SQL配置

参数解释

  • enable_stmt_track:是否启用Full/Slow SQL特性
  • log_min_duration_statement:指定慢 SQL 时间阈值
  • instr_unique_sql_count:当系统中产生的unique SQL条目数量(dbe_perf.statement/dbe_perf.summary_statement统计)大于instr_unique_sql_count时,若开启了unique SQL自动淘汰,则系统会按unique SQL的更新时间由远到近自动淘汰一定比例的条目,使得新产生的unique SQL信息可以继续被统计。若没有开启自动淘汰,则系统产生的新的unique SQL信息将不再被统计。
  • enable_auto_clean_unique_sql:当系统中产生的unique SQL条目数量大于等于instr_unique_sql_count时,是否启用unique SQL自动淘汰功能。
  • track_stmt_retention_time:组合参数,控制全量/慢SQL记录的保留时间
  • track_stmt_stat_level:组合参数,控制语句执行跟踪的级别,全量/慢SQL跟踪级别。参数级别为L1则记录query_plan。
  • track_activity_query_size:设置用于跟踪每一个活动会话的当前正在执行命令的字节数

1、查看慢SQL内容

查询慢 SQL 视图(需要在 postgres 库执行及用户需要具备 sysadmin 权限或者 monitor admin 权限

-- 执行命令查看数据库实例中慢 SQL 语句执行信息
select * from dbe_perf.get_global_slow_sql_by_timestamp('2025-02-06 14:00:00', '2025-02-06 15:40:00');
-- 执行命令查看数据库实例中 SQL 语句执行信息
select * from dbe_perf.get_global_full_sql_by_timestamp('2025-02-06 14:00:00', '2025-02-06 15:40:00');
-- 查数据库现有的进程
select pid, now(), now() - query_start as query_duration, query 
from pg_stat_activity 
where pid != pg_backend_pid() and state != 'idle' order by query_duration desc;
-- 查看当前节点 SQL 语句执行信息
select * from dbe_perf.statement_history order by start_time desc;
-- 备机查慢 SQL
select * from dbe_perf.standby_statement_history(only_slow, start_time, end_time);
select * from dbe_perf.standby_statement_history(false);
-- 查看锁事件列表
-- `track_stmt_stat_level` 级别的值是 L2 时,开始记录语句锁事件的列表。
select unique_query_id, statement_detail_decode(details, 'plaintext', true) from statement_history 
where details is not null;

2、慢SQL的传参、执行计划

  • 记录SQL传参
gs_guc reload -N all -I all -c "log_statement = all"
  • 执行计划
gs_guc reload -N all -I all -c "track_stmt_stat_level='OFF,L1'"

3、慢SQL补齐SQL

-- 设置单语句可以收集的最大的执行事件的大小(byte)。details 记录等待的事件
gs_guc reload -N all -I all -c "track_stmt_details_size = 4096"
-- 设置用于跟踪每一个活动会话的当前正在执行命令的字节数
gs_guc reload -N all -I all -c "track_activity_query_size = 4096"

4、慢SQL自动清理

  • track_stmt_retention_time:控制全量/慢SQL记录的保留时间
  • enable_auto_clean_unique_sql:启用unique SQL自动淘汰功能。
gs_guc reload -N all -I all -c "track_stmt_retention_time = '3600,604800'"
gs_guc reload -N all -I all -c "enable_auto_clean_unique_sql = on"

http://www.kler.cn/a/589973.html

相关文章:

  • [CISSP] [2] 安全治理原则策略
  • Python中使用vlc库实现视频播放功能
  • STM32 DAC详解:从原理到实战输出正弦波
  • Description of a Poisson Imagery Super Resolution Algorithm 论文阅读
  • 深入解析网络相关概念​​
  • Unity Webgl在编辑器中报错:Cannot connect to destination host
  • 双模型协作机制的deepseek图片识别
  • Unity组件大全之 Effects特效 |(46)Trail Renderer:绘制动态轨迹的艺术
  • Blender材质 - 层权重
  • 关于微信小程序端base64解码问题
  • BI选型建议
  • 【NLP】 1. 文本在计算机里的表示: One-Hot, sparse vector, bag of words
  • 前端解决页面请求大规模并发问题
  • Linux 如何上传本地文件以及下载文件到本地命令总结
  • CAD-随缘:CAD导出PDF 与 PDF导入成CAD
  • 猎豹移动(Cheetah Mobile)
  • LeetCode hot 100 每日一题(10)——56. 合并区间
  • 【VSCode】VSCode常用插件
  • 合成复用原则
  • 云原生函数计算:无服务器架构的基因重组