捕獲DB2 sql的執行快照

          先建立一個監控器

          db2 "create event monitor SQLCOST for statements write to file '/home/db2inst1'"

          再設置事務狀態為打開

          db2 "set event monitor SQLCOST state=1"

          注:1為打開,0為關閉,收集數據之后,記得關閉你的監控器,否則。。。

          跑你的測試后,在你的/home/db2inst1目錄下會生成一些evm文件

          用下面指令獲取診斷信息:

          db2evmon -db eos51 -evm SQLCOST>sqlcost1.txt

          完成之后刪除你的監控器

          db2 "drop event monitor SQLCOST"

          生成的采樣例子,從下面的例子中,你可以清除的看到SQL執行的時間,CPU消耗情況,排序是否溢出,BufferPool的使用情況,根據這些信息,SQL的執行效率一目了然:

          26) Statement Event ...

          Appl Handle: 336

          Appl Id: C0A80421.O905.0ABDA5065446

          Appl Seq number: 0657

          Record is the result of a flush: FALSE

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

          Type : Dynamic

          Operation: Execute

          Section : 7

          Creator : NULLID

          Package : SYSSN300

          Consistency Token : SYSLVL01

          Package Version ID :

          Cursor : SQL_CURSN300C7

          Cursor was blocking: FALSE

          Text : update WFProcessInst set relateData=? where processInstID= ?

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

          Start Time: 04/25/2007 14:57:19.402248

          Stop Time: 04/25/2007 14:57:19.409622

          Exec Time: 0.007374 seconds

          Number of Agents created: 1

          User CPU: 0.000000 seconds

          System CPU: 0.000000 seconds    [licl1]

          Fetch Count: 0

          Sorts: 0

          Total sort time: 0

          Sort overflows: 0    [licl2]

          Rows read: 1

          Rows written: 1

          Internal rows deleted: 0

          Internal rows updated: 0

          Internal rows inserted: 0

          Bufferpool data logical reads: 9

          Bufferpool data physical reads: 0

          Bufferpool temporary data logical reads: 0

          Bufferpool temporary data physical reads: 0

          Bufferpool index logical reads: 3

          Bufferpool index physical reads: 0

          Bufferpool temporary index logical reads: 0

          Bufferpool temporary index physical reads: 0    [licl3]

          SQLCA:

          sqlcode: 0

          sqlstate: 00000


          [licl1]SQL執行時間和CPU消耗情況

          [licl2]SQL的排序情況,可以看到這個SQL沒有排序,當然也沒有排序溢出

          [licl3]Bufferpool的使用情況,邏輯讀和物理讀的對比

          del.icio.us Tags: , ,

          posted on 2007-10-30 12:59 tacy lee 閱讀(561) 評論(0)  編輯  收藏 所屬分類: 性能相關數據庫

          主站蜘蛛池模板: 寻甸| 沙洋县| 遂宁市| 呼伦贝尔市| 团风县| 牙克石市| 襄樊市| 唐山市| 黄山市| 鄄城县| 聊城市| 西昌市| 崇州市| 大荔县| 稻城县| 拉萨市| 龙川县| 淮阳县| 梅河口市| 徐水县| 丰台区| 仲巴县| 青川县| 定襄县| 安西县| 武城县| 芜湖县| 雷山县| 赞皇县| 册亨县| 南和县| 绥宁县| 峨边| 泰来县| 湖南省| 潜江市| 石泉县| 府谷县| 南宫市| 黔东| 马公市|