赛迪网 > IT技术 数据库 > DB2开发者园地
  IT资讯搜索
 
IT产品搜索
[程序开发][网管世界][网络安全][数据库技术]
[操作系统][嘉宾聊天·在线访谈][活动集锦]
[精彩专题][Symantec专区][订阅IT技术周刊]
[开发论坛][网管论坛][安全论坛][数据库论坛]
[操作系统论坛][Sybase专区][IBM dW技术专区]
[病毒求助][病毒与漏洞播报][文档·源码下载]

IBM DB2事件监视器及explain plan的使用

发布时间:2008.07.17 09:11     来源:赛迪网    作者:Maximilian

【赛迪网-IT技术报道】关于如何创建DB2事件监视器的方法,请参看如下步骤:

第一种方法:

1. db2 create event monitor statev for tables,statements,transactions,deadlocks write to file '/home/db2inst1/event' maxfiles 10 maxfilesize 5

or

CREATE EVENT MONITOR statev FOR STATEMENTS WRITE TO TABLE STMT(TABLE em.stmtTab)

includes(rows_read,rows_written_stmt_text)

注:文件大小为5*4k,总大小为5*4k*10.大小要足够大,否则新的监控信息无法写入监视器

2. db2 set event monitor statev state 1

3. Run the SQL statements 如:insert into test09 values('1','2',default)

4. db2 flush event monitor statev

5. db2evmon gzdb statev > output.txt

6. db2 set event monitor statev state 0

第二种方法:

1. 创建一个 SQL Event Monitor,写入文件:

db2 create event monitor evmname for eventtype write to file 'directory'

例:db2 create event monitor mymonitor for deadlocks,statements write to file '/db2db/event'

2. 激活事件监视器(确保有充足的可用磁盘空间):

$> db2 "set event monitor SQLCOST state = 1"

3. 让应用程序运行。

4. 取消激活事件监视器:

$> db2 "set event monitor SQLCOST state = 0"

5. 使用 DB2 提供的 db2evmon 工具来格式化 SQL Event Monitor 原始数据(根据 SQL 吞吐率可能需要数百兆字节的可用磁盘空间):

$> db2evmon -db DBNAME -evm SQLCOST > sqltrace.txt

6. 浏览整个已格式化的文件,寻找显著大的成本数(一个耗时的过程):

$> more sqltrace.txt

#利用EXPLAIN分析SQL

--------------------------------------------------------------------------------------------------

SQL 的 Explain 通过图形化或基于文本的方式详细说明了 SQL 语句的每个部分是如何执行以及何时执行的。这包括以下一些基本信息:

正被访问的表

正被使用的索引

何时连接数据

何时排序数据

Explain 还捕获更复杂的信息,在细究 SQL 正在发生什么时,该信息非常有用:

表和索引基数

正连接的表和索引的顺序

结果集的基数

在查询的每部分正在选择哪些字段

排序方法

SQL 每部分的时间范围

要理解 Explain 信息,您需要掌握的最重要概念是 timeron。timeron 是 DB2 优化器使

用的计量单位,用来计量完成查询的时间和资源数量。timeron 综合了时间、CPU 利用率、

I/O 和其它因素。由于这些参数值是变化的,因此执行某个查询所需的 timeron 数量是动态

的,每次执行该查询所需的 timeron 都不同。

#使用控制中心的EXPLAIN SQL

观察SQL的存取方案,分析优化参数,考虑优化的级别。

#使用字符工具

db2 set current explain mode [no|yes|explain]

db2exfmt

可以从命令行调用 db2expln 工具,以获得查询的存取方案。但是,该工具不返回优化器信息。

db2expln -database gzdb -statement "select * from syscat.tables" -terminal

(责任编辑:卢兆林)


[ 发表评论 ] 字体[  ] [ 打印 ] [ 进入博客 ] [ 进入论坛 ]  [ 推荐给朋友 ]
  相关文章
  客户需求反馈表
* 姓  名:
更多资料  了解方案  认识厂商
* 单位名称:
* 联系电话:
* 电子邮件:
  赛迪推荐  
  手机·资费 ·新品·导购·评测·手机资费·宽带
手机搜索  诺基亚 N73 MOTO Z6
  IT产品 ·笔记本·台式机·服务器·打印·投影
IT产品搜索 
  IT技术 ·开发·网管·安全·数据库·操作系统
  信息化 ·热点·专题·访谈·周刊·方案案例
· 电子商务盈利新招:垂直化渠道管理新趋势
· 互联网加速蜕变 运营商进军搅动市场格局
· 08 IT技术风起云涌 专访 ITIL落地难在哪
· 视频加密保护解决方案 文档安全解决方案
  IT博客 ·曾剑秋·项立刚·Java学习·网管
  IT技术论坛 ·开发·网管·安全·数据库·系统