Chinaunix首页 | 论坛 | 博客
  • 博客访问: 7916102
  • 博文数量: 124
  • 博客积分: 2880
  • 博客等级: 少校
  • 技术积分: 873
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-16 17:08
文章分类

全部博文(124)

文章存档

2011年(28)

2010年(60)

2009年(36)

我的朋友

分类:

2010-04-20 08:11:07

关于如何创建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(王朝网络)
阅读(1586) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~