sys_stat_statements 模块提供追踪服务器所执行的所有SQL语句的执行统计信息,可以用于统计数据库的资源开销,如分析TOP SQL。

KingbaseES V8R6版本该插件已经内置化,初始化数据库实例的时候,就会被自动加载。但功能默认关闭,需要设置:sys_stat_statements.track = ’top’ 才能正常使用。

该组件的主要配置参数:

  • sys_stat_statements.max(整数)

    sys_stat_statements.max是模块跟踪的最大语句数(即sys_stat_statements视图中的最大行数)。如果观察到的语句不同,则将丢弃关于执行最少的语句的信息。默认值为5000。只能在服务器启动时设置此参数。

  • sys_stat_statements.track(枚举)

    sys_stat_statements.track控制模块计算哪些语句。指定top以跟踪顶级语句(由客户端直接发出的语句),全部也可以跟踪嵌套语句(例如在函数内调用的语句),或者不指定以禁用语句统计信息收集。默认值为 'none'。仅超级用户可以更改此设置。

  • sys_stat_statements.track_utility(boolean)

    sys_stat_statements.track_utility控制模块是否跟踪实用程序命令。实用程序命令是除SELECT,INSERT,UPDATE和DELETE之外的所有命令。默认值为on。仅超级用户可以更改此设置。

  • sys_stat_statements.save(boolean)

    sys_stat_statements.save指定是否在服务器关闭时保存语句统计信息。如果关闭,则统计信息不会在关闭时保存,也不会在服务器启动时重新加载。默认值为on。只能在kingbase.conf文件或服务器命令行中设置此参数。

参数配置示例:配置后需要重启数据库生效

shared_preload_libraries ='liboracle_parser, sys_stat_statements'
sys_stat_statements.max = 10000
sys_stat_statements.track = 'top'

sys_stat_statements 视图结构:

名称 类型 描述
userid oid 执行该语句的用户的 OID
dbid oid 在其中执行该语句的数据库的 OID
queryid bigint 内部哈希码,从语句的解析树计算得来
query text 语句的文本形式
parses bigint 该语句被解析的次数
total_parse_time double precision 在该语句中解析花费的总时间,以毫秒计
min_parse_time double precision 在该语句中解析花费的最小时间,以毫秒计
max_parse_time double precision 在该语句中解析花费的最大时间,以毫秒计
mean_parse_time double precision 在该语句中解析花费的平均时间,以毫秒计
stddev_parse_time double precision 在该语句中解析花费时间的总体标准偏差,以毫秒计
plans bigint 该语句执行Plan的次数
total_plan_time double precision 在该语句中执行Plan花费的总时间,以毫秒计
min_plan_time double precision 在该语句中执行Plan花费的最小时间,以毫秒计
max_plan_time double precision 在该语句中执行Plan花费的最大时间,以毫秒计
mean_plan_time double precision 在该语句中执行Plan花费的平均时间,以毫秒计
stddev_plan_time double precision 在该语句中执行P lan花费时间的总体标准偏差,以毫秒计
calls bigint 被执行的次数
total_exec_time double precision 在该语句中花费的总时间,以毫秒计(该字段在V8R5里面为:total_time)
min_exec_time double precision 在该语句中花费的最小时间,以毫秒计(该字段在V8R5里面为:min_time)
max_exec_time double precision 在该语句中花费的最大时间,以毫秒计(该字段在V8R5里面为:max_time)
mean_exec_time double precision 在该语句中花费的平均时间,以毫秒计(该字段在V8R5里面为:mean_time)
stddev_exec_time double precision 在该语句中花费时间的总体标准偏差,以毫秒计(该字段在V8R5里面为:stddev_time)
rows bigint 该语句检索或影响的行总数
shared_blks_hit bigint 该语句造成的共享块缓冲命中总数
shared_blks_read bigint 该语句读取的共享块的总数
shared_blks_dirtied bigint 该语句弄脏的共享块的总数
shared_blks_written bigint 该语句写入的共享块的总数
local_blks_hit bigint 该语句造成的本地块缓冲命中总数
local_blks_read bigint 该语句读取的本地块的总数
local_blks_dirtied bigint 该语句弄脏的本地块的总数
local_blks_written bigint 该语句写入的本地块的总数
temp_blks_read bigint 该语句读取的临时块的总数
temp_blks_written bigint 该语句写入的临时块的总数
blk_read_time double precision 该语句花在读取块上的总时间,以毫秒计
blk_write_time double precision 该语句花在写入块上的总时间,以毫秒计

常用的分析SQL

调用次数较多的SQL

select * from sys_stat_statements stat order by calls desc limit 10;

总执行时间较长的SQL

select * from sys_stat_statements order by total_exec_time desc limit 10;

平均执行时间较长的SQL

select * from sys_stat_statements order by mean_exec_time desc limit 10;

在读/写块上总执行时间最多的SQL

select * from sys_stat_statements order by (blk_read_time+blk_write_time) desc limit 10;

在读/写块上平均执行时间最多的SQL

select * from sys_stat_statements order by (blk_read_time+blk_write_time)/calls desc limit 10;

查看时间抖动严重的SQL

select * from sys_stat_statements order by stddev_exec_time desc limit 10;

消耗共享内存较多的SQL

select * from sys_stat_statements order by (shared_blks_hit+shared_blks_dirtied) desc limit 10;

使用临时块较多的SQL

select * from sys_stat_statements order by temp_blks_written desc limit 10;

缓冲池命中率较低的SQL

SELECT *,cast(100.0*shared_blks_hit/nullif(shared_blks_hit + shared_blks_read,0) as decimal(10,2)) AS hit_percent FROM sys_stat_statements ORDER BY total_exec_time DESC LIMIT 10;

sys_stat_statements 扩展使用介绍的更多相关文章

  1. APK扩展文件介绍、功能及用法

    APK扩展文件介绍 Android Market (Google Play Store)中每一个APK文件的最大限制是50MB.假设您的程序中包括大量的数据文件,曾经您仅仅能把这些数据文件放到自己的s ...

  2. SAP S/4HANA extensibility扩展原理介绍

    SAP产品总的extensibility扩展原理介绍: 看Jerry这篇文章. SAP Cloud for Customer Extensibility的设计与实现 我的同事Boris写的. 而本文是 ...

  3. vs2010(vs2012)好用的扩展插件介绍

    一直以来只使用番茄vs助手(https://www.wholetomato.com/downloads/default.asp)辅助写代码,也都忘了是谁介绍的,不过确实好用. 相比原始的vs,它提供了 ...

  4. C#3.0新特性之扩展方法介绍

    C#3.0扩展方法是给现有类型添加一个方法.现在类型即可是基本数据类型(如int,String等),也可以是自己定义的类.以下是引用片段: //Demo--1 //扩展基本类型 namespace T ...

  5. 开源VS扩展CodeMaid介绍

         CodeMaid是一个开源的Visual Studio的扩展插件,用于整理与优化代码等.功能类似于商业软件ReSharper,但它是免费的,并且开放源代码.它能帮助你更容易的理解你的代码,支 ...

  6. CAN总线扩展数据帧介绍

    在扩展CAN 数据帧中,紧随SOF 位的是32 位的仲裁字段.仲裁字段的前11 位为29 位标识符的最高有效位(Most Significant bit,MSb)(基本lD) .紧随这11 位的是替代 ...

  7. windbg调试系列教程:sos扩展的介绍和使用

    SOS是什么? 直观来说,sos就是一个程序集文件.这个程序集的作用就是让我们在使用windbg分析.net进程时,更加方便快捷.通过sos,我们可以清晰的查看CLR运行时的各类信息,辅助我们去理解托 ...

  8. linux系统文件扩展名介绍

    1.源码tar.tar.gz .tgz.zip.tar.bz 表示压缩文件,创建命令等 2.sh表示shell脚本文件,通过shell语言开发的程序. 3.pl 表示perl语言文件,通过perl语言 ...

  9. java工作流系统jflow表单引擎字段扩展组件介绍

    关键词:工作流快速开发平台  工作流流设计  业务流程管理   asp.net 开源工作流  bpm工作流系统  java工作流主流框架  自定义工作流引擎 表单设计器  流程设计器 装饰类图片 用于 ...

  10. 清除页面广告?身为前端,自己做一款简易的chrome扩展吧

    大家肯定有这样的经历,浏览网页的时候,左右两端广告,诸如“屠龙宝刀,点击就送”,以及最近火的不行的林子聪37传奇霸业什么“霸业面具,霸业吊坠”的魔性广告总是充斥我们的眼球. 当然有现成的扩展程序或者插 ...

随机推荐

  1. 解决Oracle创建空间索引报错ORA-29855,ORA-13249,ORA-29400,ORA-01426

    问题描述 公司这边用了Oracle Spatial来存储GIS数据信息,今天在某表上创建空间索引时报了下面的错: 此处举例说明: 假如有表TEST,其中有一列SHAPE存储维度信息. CREATE I ...

  2. CDN 加速原理

    => CDN 加速原理 HTTP 请求流程说明: 用户在浏览器输入要访问的网站域名,向本地 DNS 发起域名解析请求. 域名解析的请求被发往网站授权 DNS 服务器. 网站 DNS 服务器解析发 ...

  3. IntelliJ IDE使用指南

    下载IDEA 注释模板 #if (${PACKAGE_NAME} && ${PACKAGE_NAME} != "")package ${PACKAGE_NAME}; ...

  4. 05-Redis系列之-主从复制配置和优化,fork和aof两大阻塞

    主从复制 原理 一台主服务器配多台从服务器,主服务器宕机后,从服务器挑选一台顶上去. 从服务器同步主服务器的数据,这个同步是单向的,并且从服务器不能设置值,否则会造成数据的混乱 功能 0.故障处理:s ...

  5. CXP协议的传输层介绍 8b/10b编码

    8b/10b编码与K码 upconnection 和downconnection均使用8b/10b编码,因此我们先简单回顾一下8b/10b吧 8B/10B编码被广泛应用到高速串行总线,如IEEE139 ...

  6. 【Azure Developer】使用Key Vault的过程中遇见的AAD 认证错误

    在使用应用程序访问Key Vault获取密钥信息时,现后遇见了多种认证错误.使用的代码为: String keyVaultUrl = "https://test-xxx.vault.azur ...

  7. [linux 爬坑] 几个linux发行版尝试和令人崩溃的ssr安装体验

    最近电脑上的manjaro好像出了问题,长时间不用就会死机.也懒得追究原因了,正好决定尝试几个发行版.首先尝试安装银河麒麟    这个发行版实际上就是ubuntu,甚至源什么的都是ubuntu的,也不 ...

  8. offline RL | D4RL:最常用的 offline 数据集之一

    pdf:https://arxiv.org/pdf/2004.07219.pdf html:https://ar5iv.labs.arxiv.org/html/2004.07219 GitHub:ht ...

  9. FreeRTOS教程1 基础知识

    1.准备材料 正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) Keil µVision5 IDE(MDK-Arm) 野火DAP仿真器 2.学 ...

  10. nginx-authenticate.conf Nginx配置 新增长链接支持代理

    nginx-authenticate.conf Nginx配置 新增长链接支持代理 新增代码 proxy_set_header Connection ""; proxy_http_ ...