人大金仓学习之二_ksh和kddm的学习
人大金仓学习之二_ksh和kddm的学习
摘要
承接上一篇文章
主要是这里总结一下ksh相关的文档.
这里学习了很多文档:
https://help.kingbase.com.cn/v8/perfor/performance-optimization/performance-optimization-6.html#sys-kddm
https://help.kingbase.com.cn/v8/perfor/sql-optimization/index.html
说明
安装和还是用不在阐述
快速学习一下ksh相关的内容等.
注意上一篇仅是kwr,这边会完整一些.
配置文件修改
# 新增获取修改为:
shared_preload_libraries = 'sys_kwr,sys_ksh,sys_stat_statements,liboracle_parser'
# 性能计数器相关为:
track_activities = on
track_sql = on
track_instance = on
track_wait_timing = on
track_counts = on
track_io_timing = on
track_functions = 'all'
sys_stat_statements.track = 'top'
sys_stat_statements.track_parse = on
sys_stat_statements.track_plan = on
sys_stat_statements.max = 10000
sys_kwr.ringbuf_size = 200000
sys_kwr.enable = on
sys_kwr.history_days = 14
sys_kwr.interval = 30
sys_kwr.collect_ksh = on
ksh的相关使用
# 注意如果没有需要创建extension
与 kwr的命令类似: CREATE EXTENSION sys_kwr;
需要创建ksh的扩展.
create extension sys_ksh;
# 内存内的数据可以如此查看
SELECT * FROM perf.session_history;
# 数据库的历史视图
SELECT * FROM perf.ksh_history;
# 生成报告
SELECT * FROM perf.ksh_report({start_ts}, {duration}, {slot_width}, {format});
start_ts: 报告开始时间,默认:当前时间-15分钟
duration: 报告时长,默认:15分钟,最大不超过60
slot_width: 报告最小区间,输入0时系统自动计算合适的宽度,默认:0
format: 报告生成格式,可选择 ’html’和’text’两种格式,默认 TEXT 格式
select * from perf.ksh_report('2023-07-01 09:00:00',15,0,'text');
# 生成报告到文件
select * from perf.ksh_report_to_file('2023-07-01 09:00:00',15,0,'E:\zhaobsh_ksh.html','html');
# 根据kwr的快照生成报告
select * from perf.ksh_report_to_file_by_snapshots(1,2,'e:\zhaobsh_kwr_toksh.html','html');
很多学习文档其实是在:
https://help.kingbase.com.cn/v8.6.7.12/development/sql-plsql/ref-extended-plug-in/sys_stat_statements.html
中.
kddm的使用
Study from :
https://help.kingbase.com.cn/v8/perfor/performance-optimization/performance-optimization-6.html#sys-kddm
# 如果不存在则创建, 需要修改配置文件如上一节
CREATE EXTENSION sys_kwr;
SELECT * FROM perf.create_snapshot();
create table t1 (nametest varchar(30));
INSERT INTO t1 SELECT generate_series(1, 1000000);
SELECT * FROM perf.create_snapshot();
SELECT * FROM perf.kddm_report(1,2);
可以查看一个文本样式的 kddm 报告.
kddm的使用之二
# 可以保存成 txt文件进行查看
SELECT * FROM perf.kddm_report_to_file(1, 2, 'e:\zhaobsh_kddm.txt');
# 注意当参数如此时 可以进行更加详细的结果
sys_stat_statements.track = 'all'
# 可以使用 如下语句获取参数优化使用说明
SELECT * FROM perf.kddm_guc_advisor();
kwrdiff 的使用
select * from perf.kwr_diff_report({snap_1}, {snap_2}, {snap_3}, {snap_4})
可以在 data/sys_log 下面生成一个结果文件
文件名字为: kwr_diff_1_2_3_4_20220531_140633.html,即前缀kwr_diff_4个快照ID_年月日_时分秒.html。
如果保存文件为:
perf.kwr_diff_report_to_file({snap_1}, {snap_2}, {snap_3}, {snap_4}, {file_path})
谢谢关注我的公众号一起学习进步

人大金仓学习之二_ksh和kddm的学习的更多相关文章
- 通过ODBC接口访问人大金仓数据库
国产化软件和国产化芯片的窘境一样,一方面市场已经存在性能优越的同类软件,成本很低,但小众的国产化软件不仅需要高价买入版权,并且软件开发维护成本高:另一方面,国产软件目前普遍难用,性能不稳定,Bug ...
- DBeaver连接达梦|虚谷|人大金仓等国产数据库
前言 工作中有些项目可能会接触到「达梦.虚谷.人大金仓」等国产数据库,但通常这些数据库自带的连接工具使用并不方便,所以这篇文章记录一下 DBeaver 连接国产数据库的通用模版,下文以达梦为例(其他国 ...
- QT 之 ODBC连接人大金仓数据库
QT 之 使用 ODBC 驱动连接人大金仓数据库 获取数据库驱动和依赖动态库 此操作可在人大金仓官网下载与系统匹配的接口动态库,或者从架构数据库的源码中获取驱动和依赖动态库 分别为: 驱动动态库:kd ...
- 教你10分钟对接人大金仓EF Core 6.x
前言 目前.NET Core中据我了解到除了官方的EF Core外,还用的比较多的ORM框架(恕我孤陋寡闻哈,可能还有别的)有FreeSql.SqlSugar(排名不分先后).FreeSql和SqlS ...
- 通过jmeter连接人大金仓数据库
某项目用的人大金仓数据库,做性能测试,需要用jmeter来连接数据库处理一批数据.jmeter连接人大金仓,做个记录. 1. 概要 在"配置元件"中添加"JDBC Con ...
- 人大金仓KCI
#include "bin/libkci.h" static void exit_nicely(KCIConnection *conn) { KCIConnectionDestor ...
- Quartz定时任务学习(二)web应用/Quartz定时任务学习(三)属性文件和jar
web中使用Quartz 1.首先在web.xml文件中加入 如下内容(根据自己情况设定) 在web.xml中添加QuartzInitializerServlet,Quartz为能够在web应用中使用 ...
- 轻松学习JavaScript二十七:DOM编程学习之事件模型
在介绍事件模型之前,我们先来看什么是事件和什么是event对象. 一事件介绍 JavaScript事件是由訪问Web页面的用户引起的一系列操作,使我们有能力创建动态页面.事件是能够被 JavaScri ...
- Rplidar学习(二)—— SDK库文件学习
SDK头文件介绍 1.头文件简介: rplidar.h //一般情况下开发的项目中仅需要引入该头文件即可使用 RPLIDAR SDK 的所有功能. rplidar_driver.h //定义了 SDK ...
- jFinal 2.2入门学习之二:使用sqlserver数据库学习搭建jfinal-demo框架(MySQL的话就不需要看这个了)
1.去官网下载最新的jfinal_Demo(我这是JFinal-2.2) 2.解压demo源码,eclipse导入项目 3.本地创建数据库,修改信息,(注意:如果sqlserver端口号冲突,需要配置 ...
随机推荐
- Windows10 Docker安装详细教程
前言: 在上一章节已经成功的在Linux CentOS 8.4远程服务器中安装了Docker,下面让我们一起来试试如何在Windows10中安装Docker并运行起来.有人说你既然在Linxu环境中安 ...
- maven系列:聚合与继承
目录 一.聚合 创建Maven模块,设置打包类型为pom 设置当前聚合工程所包含的子模块名称 二. 继承 问题导入 创建Maven模块,设置打包类型为pom 在父工程的pom文件中配置依赖关系(子工程 ...
- openGauss内核分析:执行计划生成
摘要:SQL语句解析完成后被解析成Query结构,在进行优化时是以Query为单位进行的,Query的优化分为基于规则的逻辑优化(查询重写)和基于代价的物理优化(计划生成),主入口函数为subquer ...
- 六一儿童节,看我用ModelArts让8090梦回童年
[本期推荐] 8岁小朋友的儿童节,有点硬核,一起来认识这些小小程序员,看他们如何coding出一个与众不同的童年. 摘要: 如果还能再过一次儿童节-- 本文分享自华为云社区<"梦回童年 ...
- 遇到联邦计算数据碰撞难题怎么办?不妨试一试PSI
摘要:随着MPC.隐私计算等概念的流行,诸多政府机构.金融企业开始考虑参与到多方计算的场景中,扩展数据的应用价值. 本文分享自华为云社区<使用PSI解决联邦计算的数据碰撞问题>,作者:br ...
- 【主流技术】MongoTemplate 与 Spring Boot 项目集成分享(附CURD技巧)
目录 前言 一.表结构特点 1.1Json格式 1.2实体映射 二.条件构造 2.1Criteria与Query的区别 2.2简单条件 2.3复杂条件 三.如何选用接口 3.1MongoReposit ...
- 一个神奇的Python库:Evidently,机器学习必备
Evidently 是一个面向数据科学家和机器学习工程师的开源 Python 库.它有助于评估.测试和监控从验证到生产的数据和 ML 模型.它适用于表格.文本数据和嵌入. 简介 Evidently 是 ...
- javascript yield
代码: function delay(time) { return new Promise(function (resolve, reject) { setTimeout(() => { res ...
- Educational DP Contest R - Walk(倍增floyd,矩阵快速幂)
题目来源:AtCoder EDU DP题集 题目链接:Here 单独拎出来是因为这道题是一个很好的板子,值得记录 题意 给定一个 n 个节点的有向图的邻接矩阵,求该有向图中长度为 k 的路径长. 解法 ...
- ACM | 新版 C++ 特性
本文来自 OI wiki,转载仅作学习记录使用. 注意 :考虑到算法竞赛的实际情况,本文将不会全面研究语法,只会讲述在算法竞赛中可能会应用到的部分. 本文语法参照 C++11 标准.语义不同的将以 C ...