explain
1.如果第一次执行,请先(在dbinst用户下) connect to dbname,
执行db2 -tvf $HOME/sqllib/misc/EXPLAIN.DDL建立执行计划表
2.db2 set current explain mode explain(在数据库所在用户下)
设置成解释模式,并不真正执行下面将发出的sql命令
3.执行你想要分析的sql语句
......
db2 "SELECT DISTINCT RTRIM(MARKET_CODE),RTRIM(CURRENCY_TYPE),t.* FROM KS.BRANCH_PARAM t WHERE PARAM_CODE='0986'"
db2 "SELECT a.name, a.cert_type, a.cert_no, A.CUST_NO,A.OPEN_DATE,A.BRANCH_CODE ,a.* FROM KS.CUST_BASE_INFO A where a.cert_no='0050000101' "
......
4.db2 set current explain mode no
取消解释模式
5.db2exfmt -d ksdbs -g TIC -w -l -s % -n % -o db2exmt.out
执行计划输出到文件db2exmt.out
Expln:
单表:
db2expln -d <database> -c <schema> -p <package> -o <explan out file> -s 0 -g
全库:
db2 connect to database
db2 -x "select 'db2expln -d <database> -c '||rtrim(ltrim(pkgschema))||' -p '||rtrim(ltrim(pkgname))||' -o '||rtrim(ltrim(pkgschema))||'.'||rtrim(ltrim(pkgname))||'.out -s 0 -g' from syscat.packages where pkgschema <> 'NULLID' with ur"> exp.sh
chmod +x exp.sh
./exp.sh
注意:<database>替换成数据库名称如:ksdbs,全库执行时最好新建文件夹,会生成很多文件。
db2expln 输出的描述
文档->性能调整->查询优化->说明工具->SQL 和 XQuery 说明工具->db2expln 输出的描述
db2执行计划具体操作的更多相关文章
-
db2 执行计划
SQL 语句优化贯穿于数据库类应用程序的整个生命周期,包括前期程序开发,产品测试以及后期生产维护.针对于不同类型的 SQL 性能问题有不同的优化方法.索引对于改善数据库 SQL 查询操作性能至关重要, ...
-
db2执行计划介绍
在数据库调优过程中,SQL语句往往是导致性能问题的主要原因,而执行计划则是解释SQL语句执行过程的语言,只有充分读懂执行计划才能在数据库性能优化中做到游刃有余. 常见的关系型数据库中,虽然执行计划的表 ...
-
DB2执行计划分析
多表连接的三种方式详解 hash join.merge join. nested loop 项目中的SQL执行效率太低,就用执行计划看一下执行SQL,看不懂,百度一下,纪录下来: 大多数人从来没有听说 ...
-
Oracle 课程五之优化器和执行计划
课程目标 完成本课程的学习后,您应该能够: •优化器的作用 •优化器的类型 •优化器的优化步骤 •扫描的基本类型 •表连接的执行计划 •其他运算方式的执行计划 •如何看执行计划顺序 •如何获取执行计划 ...
-
Oracle 高性能SQL引擎剖析----执行计划
执行计划是指示Oracle如何获取和过滤数据.产生最终结果集,是影响SQL语句执行性能的关键因素.我们在深入了解执行计划之前,首先需要知道执行计划是在什么时候产生的,以及如何让SQL引擎为语句生成执行 ...
-
Spark2 Dataset行列操作和执行计划
Dataset是一个强类型的特定领域的对象,这种对象可以函数式或者关系操作并行地转换.每个Dataset也有一个被称为一个DataFrame的类型化视图,这种DataFrame是Row类型的Datas ...
-
Oracle 利用执行计划来避免排序操作
在oracle中,利用index来避免排序 SQL) NOT NULL); SQL> CREATE INDEX IND_T_NOSORT_NAME ON T_NOSORT(NAME); SQL& ...
-
sql server 根据执行计划查询耗时操作
with QS as( select cp.objtype as object_type, /*类型*/ db_name(st.dbid) as [database], /*数据库*/ object_ ...
-
db2数据库创建索引,删除索引,查看表索引,SQL语句执行计划以及优化建议
1.建立表索引 create index 索引名 on 表名(列名,列名); 2.删除表索引 drop index 索引名 on 表名; 3.查看表索引 select * from sysibm.sy ...
随机推荐
-
【小白的CFD之旅】04 任务
和老蓝见面之后的很长一段时间里,小白都没有接到任何老蓝的消息,再加上课比较多,小白也慢慢适应了白天上课,晚上窝在宿舍打游戏,偶尔也去图书馆看看书的生活,这样宁静的生活持续了差不多两个月.就在老蓝的影子 ...
-
[原创]使用java批量修改文件编码(ANSI-->;UTF-8)
从网上下载的项目,有时候.java文件的编码是ANSI.导入到自己的MyEclipse后,查看项目源码的时候,总是乱码. 一个个.java去修改的话, 既麻烦又不现实.所以写了下面这个工具类,进行批量 ...
-
SQLServer2014内存优化表评测
SQLServer2014内存优化表评测 分类: SQL内存表2014-06-20 11:49 1619人阅读 评论(11) 收藏 举报 目录(?)[-] SQLServer2014的使用基本要求 内 ...
-
Preparing for the Contest
Codeforces Round #222 (Div. 1)B:http://codeforces.com/contest/377/problem/B 题意:m个任务,每个任务会有一个复杂度,然后给 ...
-
无法删除MySql数据库,报错1010 error dropping
环境:MySQL.Navicat 8 操作:Drop database testDB 报错:1010 error dropping database 解决方法: ps -ef | g ...
-
四、MVC简介
一.高内聚.低耦合 大学的时候,上过一门叫<软件工程>的课程,课程中讲到了耦合,解耦等相关的词汇,当时很懵懂,不解其意. 耦合:是指两个或两个以上的体系或两种运动形式间通过相互作用而彼此影 ...
-
Mac/Linux 常用命令
一 mkdir 创建文件夹 mkdir myApp 在当前目录下创建myApp文件夹. mkdir -p /a/b/c 创建/a/b/c文件夹,如果/a或/a/b不存在,则自动创建. 二 touch ...
-
BZOJ 4004 [JLOI2015]装备购买 | 线性基
题目链接 Luogu P3265 题解 非常正常的线性基! 但是我不会线性基-- (吐槽:#define double long double 才过--) #include <cstdio> ...
-
Ts基础
//typeof 用来判断变量类型 var s: string = 'egret'; var isString: boolean = typeof s === 'string'; console.lo ...
-
Python入门:条件控制
条件控制其实就是if...else...(如果...条件是成立的,就做...:反之,就做...)的使用,其基本结构是: 具体看下面这个例子: def account_login(): # 定义函数 p ...