KingbaseES 如何查看应用执行的SQL的执行计划
通过explain ,我们可以获取特定SQL 的执行计划。但对于同一条SQL,不同的变量、不同的系统负荷,其执行计划可能不同。我们要如何取得SQL执行时间点的执行计划?KingbaseES 提供了 auto_explain 扩展插件,可以自动跟踪SQL执行计划。
1、设置参数
设置参数:
shared_preload_libraries = 'auto_explain'
auto_explain.log_min_duration = 1000
auto_explain.log_min_duration 是最短语句执行时间(以毫秒为单位),将此设置为0 将记录所有计划。-1(默认)禁用计划记录。
2、查看SQL 执行计划
2021-08-30 17:35:06.797 CST [113562] LOG: duration: 0.010 ms plan:
Query Text: select * from t1,t2 where t1.id1=t2.id2;
Merge Join (cost=166.75..280.75 rows=7200 width=80)
Merge Cond: (t1.id1 = t2.id2)
-> Sort (cost=83.37..86.37 rows=1200 width=40)
Sort Key: t1.id1
-> Seq Scan on t1 (cost=0.00..22.00 rows=1200 width=40)
-> Sort (cost=83.37..86.37 rows=1200 width=40)
Sort Key: t2.id2
-> Seq Scan on t2 (cost=0.00..22.00 rows=1200 width=40)
3、explain analyze
设置参数 auto_explain.log_analyze=on , 相当于 explain analyze :
2021-08-30 19:55:09.506 CST [121850] LOG: duration: 0.041 ms plan:
Query Text: select * from t1,t2 where t1.id1=t2.id2;
Merge Join (cost=166.75..280.75 rows=7200 width=80) (actual time=0.037..0.038 rows=0 loops=1)
Merge Cond: (t1.id1 = t2.id2)
-> Sort (cost=83.37..86.37 rows=1200 width=40) (actual time=0.035..0.036 rows=0 loops=1)
Sort Key: t1.id1
Sort Method: quicksort Memory: 25kB
-> Seq Scan on t1 (cost=0.00..22.00 rows=1200 width=40) (actual time=0.002..0.002 rows=0 loops=1)
-> Sort (cost=83.37..86.37 rows=1200 width=40) (never executed)
Sort Key: t2.id2
-> Seq Scan on t2 (cost=0.00..22.00 rows=1200 width=40) (never executed)
KingbaseES 如何查看应用执行的SQL的执行计划的更多相关文章
- db2数据库创建索引,删除索引,查看表索引,SQL语句执行计划以及优化建议
1.建立表索引 create index 索引名 on 表名(列名,列名); 2.删除表索引 drop index 索引名 on 表名; 3.查看表索引 select * from sysibm.sy ...
- Sql server定时执行某个sql 通过Windows 计划任务(非代理Job方式)
建立 bat文件.内容如下: osql -s "xxx.xxx.xx.x" -U sa -P sa -d DB -i TruncateSql.sql osql -S "l ...
- ORACLE查看SQL的执行次数/频率
在ORACLE数据库应用调优中,一个SQL的执行次数/频率也是常常需要关注的,因为某个SQL执行太频繁,要么是由于应用设计有缺陷,需要在业务逻辑上做出优化处理,要么是业务特殊性所导致.如果执行频繁的S ...
- PLSQL_查询SQL的执行次数和频率(案例)
2014-12-25 Created By BaoXinjian
- PLSQL_监控有些SQL的执行次数和频率
原文:PLSQL_监控有些SQL的执行次数和频率 2014-12-25 Created By 鲍新建
- [转]查询sqlserver 正在执行的sql语句的详细信息
包含用户名,所在数据库,执行的sql语句,执行开始时间,驱动程序,主机名称 SELECT [Spid] = session_Id, ecid, [Database] = DB_NAME(sp. ...
- EntityFramework 7 如何查看执行的 SQL 代码?
EF 其他版本:EntityFramework 如何查看执行的 SQL 代码? 在 EF7 中,并没有 Context.Database.Log 属性访问方式,但改变更加强大了,我们可以使用下面方式配 ...
- EntityFramework 如何查看执行的 SQL 代码?
在 VS 调试的时候,如果我们项目中使用的是 EntityFramework,查看 SQL 执行代码就不像 ADO.NET 那样直观了,我们需要设置下,可以参考下: How can I log the ...
- MySql使用show processlist查看正在执行的Sql语句
今天上班例行的查看了下服务器的运行状况,发现服务器特卡,是mysqld这个进程占用CPU到了99%导致的. 比较好奇是那个程序在使用mysql导致cpu这么高的,通过show processlist命 ...
随机推荐
- 分享自己平时使用的socket多客户端通信的代码技术点和软件使用
前言 说到linux下多进程通信,有好几种,之前也在喵哥的公众号回复过,这里再拿出来,重新写一遍:多进程通信有管道,而管道分为匿名和命名管道 ,后者比前者优势在于可以进行无亲缘进程通信:此外信号也是进 ...
- c++(qt)播放wav文件的四种方式
//方法一(要符合RIFF规范) 1 QSound::play("E:/Projects/报警声1-1.wav"); //方法二(要符合RIFF规范) 1 QSoundEffect ...
- Contest
Contest 题目 链接 题目描述 \(n\) 支队伍一共参加了三场比赛. 一支队伍 \(x\) 认为自己比另一支队伍 \(y\) 强当且仅当 \(x\) 在至少一场比赛中比 \(y\) 的排名高. ...
- who is the next one?
Turn-Taking: 参加会话的人参加整个会话的过程中轮流说话,end-of-utterance detection systems,是对说话转变的预测,既什么时候发生对话者之间的转变. Eva ...
- mybatis查询的三种方式
查询最需要关注的问题:①resultType自动映射,②方法返回值: interface EmpSelectMapper: package com.atguigu.mapper; import ja ...
- final关键字概念与四种用法和final关键字用于修饰类和成员方法
fifinal关键字 概述 学习了继承后,我们知道,子类可以在父类的基础上改写父类内容,比如,方法重写.那么我们能不能随意的继承 API中提供的类,改写其内容呢?显然这是不合适的.为了避免这种随意改写 ...
- HashMap源码深度剖析,手把手带你分析每一行代码,包会!!!
HashMap源码深度剖析,手把手带你分析每一行代码! 在前面的两篇文章哈希表的原理和200行代码带你写自己的HashMap(如果你阅读这篇文章感觉有点困难,可以先阅读这两篇文章)当中我们仔细谈到了哈 ...
- 三万字盘点Spring/Boot的那些常用扩展点
大家好,我是三友. Spring对于每个Java后端程序员来说肯定不陌生,日常开发和面试必备的.本文就来盘点Spring/SpringBoot常见的扩展点,同时也来看看常见的开源框架是如何基于这些扩展 ...
- Unity3D学习笔记10——纹理数组
目录 1. 概述 2. 详论 2.1. 实现 2.2. 注意 3. 参考 1. 概述 个人认为,纹理数组是一个非常有用的图形特性.纹理本质上是一个二维的图形数据:通过纹理数组,给图形数据再加上了一个维 ...
- Fibonacci Nim
目录 题意 题解 相关 Ref 题意 [COCI2010-2011#4] HRPA 取石子,但是: 先手第一次可取任意多个石子 此外每次可取的石子的个数,至少为 \(1\) ,至多为上一轮对方所取个数 ...