国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

IBM DB2事件監視器及explain plan的使用

瀏覽:4日期:2023-11-09 18:19:31

關于如何創建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

標簽: DB2 數據庫
主站蜘蛛池模板: 孝感市| 宁国市| 东乡县| 白银市| 黄大仙区| 增城市| 清原| 美姑县| 安塞县| 健康| 呼伦贝尔市| 灵璧县| 西华县| 韶山市| 镇江市| 句容市| 深水埗区| 政和县| 建德市| 上饶县| 肥东县| 永善县| 辽宁省| 靖州| 三台县| 礼泉县| 桂平市| 京山县| 麦盖提县| 怀来县| 镇康县| 远安县| 西乌珠穆沁旗| 桓台县| 沁源县| 洪湖市| 浏阳市| 丰镇市| 开封市| 邵阳市| 昭平县|