GBase8c 慢SQL配置

embedded/2025/3/18 17:31:01/

参数解释

  • 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">-- 执行命令查看数据库实例中慢 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.ppmy.cn/embedded/173638.html

相关文章

Django系列教程(7)——路由配置URLConf

目录 URLconf是如何工作的? path和re_path方法 更多URL配置示例 URL的命名及reverse()方法 使用命名URL 硬编码URL - 不建议 URL指向基于类的视图(View) 通过URL传递额外的参数 小结 Django的项目文件夹和每个应用(app)目录下都有urls.py文件,它们构成了D…

linux环境下快速输出电脑的系统/硬件/显卡/网络/已安装软件等信息

在Linux环境下,可以通过以下命令快速获取系统和硬件信息。最后将这些命令整合成一个脚本(如 sysinfo.sh),一键输出所有信息。 1. 系统信息 # 内核信息 uname -a# 发行版信息 lsb_release -a 2>/dev/null || cat /etc/*release…

无人机+无人车+机器狼+DeepSeek:智能化设备集群技术详解

无人机、无人车、机器狼与DeepSeek的结合代表了智能化设备集群技术的重要发展方向。以下是对这一技术的详细解析: DeepSeek技术概述 DeepSeek是一种基于深度学习和数据挖掘技术的智能搜索与分析系统。它通过深度学习模型理解数据的上下文语义,实现更智…

双模型协作机制的deepseek图片识别

deepseek自动生成包含关键视觉元素的结构化文本描述的过程,本质上是多模态人工智能技术的协同工作,其核心原理可分为以下技术层级: 一、技术流程与编码器作用 图像编码阶段 编码器选择:常用模型包括 SigLIP、CLIP、ViT&#xff08…

谈谈你对前端工程化的理解,它包含哪些方面

大白话谈谈你对前端工程化的理解,它包含哪些方面 前端工程化其实就是把前端开发变得更规范、更高效、更易于维护的一套方法和流程。就好比你盖房子,不能随便瞎盖,得有设计图纸、施工标准、分工合作,前端工程化也是类似的道理。 项…

<link>标签在网页中的常见用途及与<script>标签引入资源方式的区别

大白话标签在网页中的常见用途及与 <link> 标签的常见用途 <link> 标签主要用于在 HTML 页面中引入外部资源&#xff0c;最常见的就是引入样式表&#xff08;CSS 文件&#xff09;&#xff0c;让网页能够按照我们定义的样式来展示内容。 以下是一个简单的例子&a…

每天五分钟深度学习PyTorch:循环神经网络RNN的计算以及维度信息

本文重点 前面我们学习了RNN从何而来,以及它的一些优点,我们也知道了它的模型的大概情况,本文我们将学习它的计算,我们来看一下RNN模型的每一个时间步在计算什么? RNN的计算 ht-1是上一时刻的输出,xt是本时刻的输入,然后二者共同计算得到了ht,然后yt通过ht计算得到,…

Android ARouter的详细使用指南

Android ARouter的详细使用指南。我需要先确定用户的基础&#xff0c;可能他们已经有Android开发经验&#xff0c;但对ARouter不太熟悉。首先&#xff0c;我应该介绍ARouter是什么&#xff0c;解决什么问题&#xff0c;比如模块化中的页面跳转问题。然后&#xff0c;需要分步骤…