【GaussDB】分布式性能分析常用的SQL

2024-08-31 14:36

本文主要是介绍【GaussDB】分布式性能分析常用的SQL,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

--查看连接数
select coorname,usename,application_name,substr(query,1,50) as query,state from pgxc_stat_activity where state='active' and usename='xxx';
select coorname,count() from pgxc_stat_activity where usename='cbsprd' group by coorname;
select coorname,client_addr,count(
) from pgxc_stat_activity where state='active' and usename='cbsprd';

--杀会话
execute direct on all 'select pg_terminate_session(pid,sessionid) from pg_stat_activity where usename='xxx';
execute direct on all 'select * from statement_history whee unique_query_id='1178397073' and query is not null;';

--清理statement
select reset_unique_sql('GLOBAL','ALL',0);

--查询TOP SQL
select n_calls,unique_sql_id,substr(query,1,50) as query,total_elapse_time/n_calls/1000 as avg_time,total_elapse_time/1000 as runtime from dbe_perf.statement where user_name='cbsprd' and n_calls>10 and avg_time>5 order by runtime desc;
select n_calls,unique_sql_id,substr(query,1,50) as query,total_elapse_time/n_calls/1000 as avg_time,total_elapse_time/1000 as runtime from dbe_perf.statement where user_name='cbsprd' and n_calls>10 and query like '%kapb% order by runtime desc;
select sum(total_elapse_time)/1000 as total_time from be_perf.statement where user_name='cbsprd' ;

--查询等待事件
select wait_status,wait_event,count() from pg_thread_wait_status group by 1,2 order by 3 desc;
select wait_status,event,count(
) from gs_asp where sample_time >'2024-06-26 17:20:00' and sample_time<'2024-06-26 17:50:00' and databaseid=685433 group by 1,2 order by 3 desc;
select wait_status,event,count(*) from dbe_perf.local_active session where sample_time >'2024-06-26 17:20:00' and sample_time<'2024-06-26 17:50:00' and databaseid=685433 group by 1,2 order by 3 desc;
select * from dbe_perf.local_active session where sample_time >'2024-06-26 17:20:00' and sample_time<'2024-06-26 17:50:00' and databaseid=685433 and unique_query_id;=3935832574;

--查询慢SQL
select unique_query_id,substr(query,1,100) as query,count(*) from be_perf.get_global_full_sql_by_timestamp('2024-06-12 10:30:00','2024-06-12 16:30:00') where user_name='cbsprd' group by 1,2 order by 3 desc;

--查询单条慢SQL记录
\x
select *,dbe_perf.get_global_full_sql_by_timestamp('2024-06-12 10:30:00','2024-06-12 16:30:00') where unique_query_id=xxxxx and query is not null;
select * from dbe_perf.statement_history where unique_query_id=xxxxx and query is not null;
select * from dbe_perf.statement where unique_sql_id=xxxxxx;

--查询列的统计信息
select * from pg_stats where tablename='kapb_jioyrz' and attname='jiluztai';

--SQLPATCH
select * from dbe_sql_util.drop_sql_patch('patch1');
select * from dbe_sql_util.create_hint_sql_patch('809780568','809780568','use_cplan');
select * from dbe_sql_util.create_hint_sql_patch('patch4','37772378082','set(enable_for_fqs_on)');
select * from dbe_sql_util.create_hint_sql_patch('3203049046','3203049046','set(enable_stream_operator off)');
select * from dbe_sql_util.create_hint_sql_patch('3203049046','3203049046','set(enable_stream_operator off)');
select * from dbe_sql_util.create_hint_sql_patch('1580322454','1580322454','set(query_dop 8) set(enable_seqscan on)');
select * from dbe_sql_util.create_hint_sql_patch('1580322453','1580322453','set(query_dop 8) set(enable_seqscan on) set(try_vector_engine_strategy force');
select * from dbe_sql_util.create_hint_sql_patch('1580322452','1580322452','no_expand(@"sel$2")');
select * from gs_sql_patch;

--汇总数据库消耗时间
select sum(total_elapse_time)/1000 as total_time from be_perf.statement where user_name='cbsprd' ;

--查看锁
select *,pg_catalog.statement_detail_decode(details,'plaintext',true) from statement_history where unique_query_id=3177795013 order by db_time desc;
select * from pg_catalog.statement_detail_decode(detail,'plaintext',true);--detail='\x5e......'十六进制码

--生成火焰图
perf record -e cpu-clock -g -p 946111 -- sleep 60

--抓full sql
select * from dynamic_func_control('LOCAL','STMT','TRACK','{"1178397073","L2"}');
select * from dynamic_func_control('LOCAL','STMT','TRACK','{"1178397073"}');

--内存消耗
select * from pg_total_memory_detail;

select contextname,sum(totalsize)/1024/1024 totalsize,sum(freesize)/1024/1024 freesize,count() sum from pv_thread_memory_context group by contextname order by sum desc limit 10;
select contextname,sum(totalsize)/1024/1024 totalsize,sum(freesize)/1024/1024 freesize,count(
) sum from pv_session_memory_context group by contextname order by sum desc limit 20;

--耗时统计
select a.ljhaoshi/1000/60/60,a.* from cbsprd.ksys_plrenw a where a.pljypich='hx_dayend_all_20240626_9999' order by a.dqjioayrq asc;

--内存不足问题
gs_guc set -Z coordinator -Z datanode -N all -I all -c "enable_global_plancache=on"
gs_guc set -Z coordinator -Z datanode -N all -I all -c "enable_stream_pbe=off"

这篇关于【GaussDB】分布式性能分析常用的SQL的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1124176

相关文章

MySQL 8 中的一个强大功能 JSON_TABLE示例详解

《MySQL8中的一个强大功能JSON_TABLE示例详解》JSON_TABLE是MySQL8中引入的一个强大功能,它允许用户将JSON数据转换为关系表格式,从而可以更方便地在SQL查询中处理J... 目录基本语法示例示例查询解释应用场景不适用场景1. ‌jsON 数据结构过于复杂或动态变化‌2. ‌性能要

MySQL字符串常用函数详解

《MySQL字符串常用函数详解》本文给大家介绍MySQL字符串常用函数,本文结合实例代码给大家介绍的非常详细,对大家学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录mysql字符串常用函数一、获取二、大小写转换三、拼接四、截取五、比较、反转、替换六、去空白、填充MySQL字符串常用函数一、

Java中Arrays类和Collections类常用方法示例详解

《Java中Arrays类和Collections类常用方法示例详解》本文总结了Java中Arrays和Collections类的常用方法,涵盖数组填充、排序、搜索、复制、列表转换等操作,帮助开发者高... 目录Arrays.fill()相关用法Arrays.toString()Arrays.sort()A

MySQL中比较运算符的具体使用

《MySQL中比较运算符的具体使用》本文介绍了SQL中常用的符号类型和非符号类型运算符,符号类型运算符包括等于(=)、安全等于(=)、不等于(/!=)、大小比较(,=,,=)等,感兴趣的可以了解一下... 目录符号类型运算符1. 等于运算符=2. 安全等于运算符<=>3. 不等于运算符<>或!=4. 小于运

虚拟机Centos7安装MySQL数据库实践

《虚拟机Centos7安装MySQL数据库实践》用户分享在虚拟机安装MySQL的全过程及常见问题解决方案,包括处理GPG密钥、修改密码策略、配置远程访问权限及防火墙设置,最终通过关闭防火墙和停止Net... 目录安装mysql数据库下载wget命令下载MySQL安装包安装MySQL安装MySQL服务安装完成

MySQL进行数据库审计的详细步骤和示例代码

《MySQL进行数据库审计的详细步骤和示例代码》数据库审计通过触发器、内置功能及第三方工具记录和监控数据库活动,确保安全、完整与合规,Java代码实现自动化日志记录,整合分析系统提升监控效率,本文给大... 目录一、数据库审计的基本概念二、使用触发器进行数据库审计1. 创建审计表2. 创建触发器三、Java

MySQL逻辑删除与唯一索引冲突解决方案

《MySQL逻辑删除与唯一索引冲突解决方案》本文探讨MySQL逻辑删除与唯一索引冲突问题,提出四种解决方案:复合索引+时间戳、修改唯一字段、历史表、业务层校验,推荐方案1和方案3,适用于不同场景,感兴... 目录问题背景问题复现解决方案解决方案1.复合唯一索引 + 时间戳删除字段解决方案2:删除后修改唯一字

Zabbix在MySQL性能监控方面的运用及最佳实践记录

《Zabbix在MySQL性能监控方面的运用及最佳实践记录》Zabbix通过自定义脚本和内置模板监控MySQL核心指标(连接、查询、资源、复制),支持自动发现多实例及告警通知,结合可视化仪表盘,可有效... 目录一、核心监控指标及配置1. 关键监控指标示例2. 配置方法二、自动发现与多实例管理1. 实践步骤

MySQL 主从复制部署及验证(示例详解)

《MySQL主从复制部署及验证(示例详解)》本文介绍MySQL主从复制部署步骤及学校管理数据库创建脚本,包含表结构设计、示例数据插入和查询语句,用于验证主从同步功能,感兴趣的朋友一起看看吧... 目录mysql 主从复制部署指南部署步骤1.环境准备2. 主服务器配置3. 创建复制用户4. 获取主服务器状态5

SpringBoot中六种批量更新Mysql的方式效率对比分析

《SpringBoot中六种批量更新Mysql的方式效率对比分析》文章比较了MySQL大数据量批量更新的多种方法,指出REPLACEINTO和ONDUPLICATEKEY效率最高但存在数据风险,MyB... 目录效率比较测试结构数据库初始化测试数据批量修改方案第一种 for第二种 case when第三种