db2调优sql执行分析
来源:互联网 发布:攻击网站软件 编辑:程序博客网 时间:2024/06/16 22:37
在之前一直有个误解,认为把表的全部字段建立索引跟不建是一样的,所以在一次实际应用中,当数据量到达了100万之后,检索速度明显地慢,而且在执行查询时间cpu占用率非常的高,导致影响到了其它的作业引发连锁的反应.
跟一些朋友探讨后,明白了一个观点,虽然表的全部字段建立索引,看上去是查全表,不建索引也是查全表,但是,这查询的效率问题决定于数据的存储方式,以及在该存储方式下的查询算法,朋友指出,索引的存储与查询是b tree方式的,而表数据的存储则不然.可以想像,表数据也存成b tree的方式,则在一般的存取操作下消耗是具大的.
这个不佳sql的发现,是dba在观察某一时刻中查看到它的执行时间是位列前五的.被db2痛批了一顿.dba告诉我应该使用db2expln(db2exfmt)来发现在sql语句中是否出现全表扫描的现像.
学习 ...
db2用于调优分析的命令
#抓取db2的快照信息
db2 get snapshot for dynamic sql on tableName
#DB2事件监视db2
(1) db2 create event monitor statev for tables,statements,transactions,deadlocks write to file 'C:\logs\event' maxfiles 10 maxfilesize 5
(2) db2 set event monitor statev state 1
(3) Run the SQL statements
(4) db2 flush event monitor statev
(5) db2evmon databaseName statev > output.txt
(6) db2 set event monitor statev state 0
#db2 sql执行分析
db2 set current explain mode [no|yes|explain]
db2expln -database databaseName -statement "select * from example" -t -z @ -g>C:\ex.log
#db2 sql详细分析
(1) 执行\SQLLIB\MISC\EXPLAIN.DDL
db2 -tvf EXPLAIN.DDL
(2) 设置命令解释模式
db2 set current explain mode explain
(3) 执行需要监控的sql
(4) 关闭解析命名模式
db2 set current explain mode no
(5) 生成信息文件
db2exfmt -d databaseName -g TIC -w -1 -n % -s % -# 0 -o C:\exfmt_runstats.out
- db2调优sql执行分析
- DB2 SQL执行计划
- DB2 执行SQL文件
- db2 EXPLAIN分析SQL
- DB2 SQL脚本批量执行
- DB2 SQL脚本批量执行
- DB2 SQL脚本批量执行
- DB2 如何执行sql脚本
- db2命令行中执行sql
- DB2 命令行中如何执行sql脚本
- 用DB2命令行执行SQL脚本
- DB2 执行Sql 语句中的隔离级别
- db2 sql调优
- SQL执行计划分析
- SQL语句执行分析
- SQL执行计划分析
- SQL执行计划分析
- SQL执行计划分析
- MPC837xE-rdb开发板上DUART的调试
- 学习一种新编程语言的15个练习
- POSIX标准总体分析
- Windows Socket API 编程(上):TCP篇
- 关于彩票
- db2调优sql执行分析
- Struts2中iterator标签遍历map总结
- gettickcount移植到linux
- alter index rebuild与alter index rebuild online的区别
- ARM汇编语言源程序格式
- 尧尧宝贝的“毕业典礼”
- 用DDD+GDB+QEMU 进行linux内核源码级调试
- WinPE安装系统时出现安装程序找不到有效系统分区问题解决方法
- use lib function on linux with C