DB2 V9新特性:可以檢視top sql了,類似oracle
以下是DB2資訊中心的介紹,希望對大家有所幫助,和oracle的top sql對應的是sysibmadm.top_dynamic_sql,以下的檢視所在的模式都是sysibmadm
示例:使用快照管理檢視來標識高成本應用程式
ShopMart 資料庫上最近的工作負載增長已開始影響到整體資料庫效能。Jessie 是 ShopMart 的 DBA,她嘗試使用下列管理檢視來標識日常工作負載中較大的資源使用者:
APPLICATION_PERFORMANCE
此檢視幫助 Jessie 標識可能正在執行大型表掃描操作的應用程式:
connect to shopmart;
select AGENT_ID, ROWS_SELECTED, ROWS_READ from APPLICATION_PERFORMANCE;
ROWS_SELECTED 值顯示返回給應用程式的行數,ROWS_READ 值顯示在基本表中訪問的行數。如果選擇率很低,則表示該應用程式可能正在執行表掃描操作,通過建立索引可以避免應用程式執行該操作。Jessie 使用此檢視來標識可能有問題的查詢,然後,她可以進行進一步調查,即檢視 SQL 以確定是否能夠減少查詢在執行時讀取的行數。
LONG_RUNNING_SQL
Jessie 使用 LONG_RUNNING_SQL 管理檢視來標識當前正在執行的執行時間最長的查詢:
connect to shopmart;
select ELAPSED_TIME_MIN, APPL_STATUS, AGENT_ID from long_running_sql
order by ELAPSED_TIME_MIN desc fetch first 5 rows only;
通過使用此檢視,她可以確定這些查詢已執行的時間長度以及這些查詢的狀態。如果某個查詢已執行了很長時間並且正在等待鎖,她就可以使用對特定代理程式標識執行查詢的 LOCKWAITS 或 LOCK_HELD 管理檢視來進行進一步調查。LONG_RUNNING_SQL 檢視還會指出正在執行的語句並允許她標識可能有問題的 SQL。
QUERY_PREP_COST
Jessie 使用 QUERY_PREP_COST 來對已確定有問題的查詢進行故障診斷。此檢視可以指出查詢的執行頻率以及這些查詢中每個查詢的平均執行時間:
connect to shopmart;
select NUM_EXECUTIONS, AVERAGE_EXECUTION_TIME_S, PREP_TIME_PERCENT from
QUERY_PREP_COST order by NUM_EXECUTIONS desc;
PREP_TIME_PERCENT 值向 Jessie 指出準備查詢時耗用的時間在查詢執行時間中所佔的百分比。如果編譯和優化查詢時耗用的時間幾乎與查詢的執行時間一樣長,那麼,Jessie 可以建議該查詢的所有者更改用於該查詢的優化類。降低優化類可以使該查詢更快地完成優化,從而更快地返回結果。但是,如果某個查詢需要相當長的時間來進行準備,但要執行數千次(而不必再次進行準備),則更改優化類並不能提高查詢效能。
TOP_DYNAMIC_SQL
Jessie 使用 TOP_DYNAMIC_SQL 檢視來標識執行頻率最高、執行時間最長和排序次數最多的動態 SQL 語句。有了此資訊,Jessie 在進行 SQL 調整工作時就可以把注意力放在代表某些最大資源使用者的查詢上。
為了標識執行頻率最高的動態 SQL 語句,Jessie 發出以下語句:
connect to shopmart;
select * from TOP_DYNAMIC_SQL order by NUM_EXECUTIONS
desc fetch first 5 rows only;
此語句返回執行頻率最高的 5 個動態 SQL 語句的所有執行時間、排序執行次數和語句文字詳細資訊。
為了標識執行時間最長的動態 SQL 語句,Jessie 檢查 AVERAGE_EXECUTION_TIME_S 值最大的 5 個查詢:
connect to shopmart;
select * from TOP_DYNAMIC_SQL order by AVERAGE_EXECUTION_TIME_S
desc fetch first 5 rows only;
為了檢視排序次數最多的動態 SQL 語句的詳細資訊,Jessie 發出以下語句:
connect to shopmart;
select STMT_SORTS, SORTS_PER_EXECUTION, substr(STMT_TEXT,1,60) as STMT_TEXT
from TOP_DYNAMIC_SQL order by STMT_SORTS desc fetch first 5 rows only;
示例:使用快照管理檢視來標識高成本應用程式
ShopMart 資料庫上最近的工作負載增長已開始影響到整體資料庫效能。Jessie 是 ShopMart 的 DBA,她嘗試使用下列管理檢視來標識日常工作負載中較大的資源使用者:
APPLICATION_PERFORMANCE
此檢視幫助 Jessie 標識可能正在執行大型表掃描操作的應用程式:
connect to shopmart;
select AGENT_ID, ROWS_SELECTED, ROWS_READ from APPLICATION_PERFORMANCE;
ROWS_SELECTED 值顯示返回給應用程式的行數,ROWS_READ 值顯示在基本表中訪問的行數。如果選擇率很低,則表示該應用程式可能正在執行表掃描操作,通過建立索引可以避免應用程式執行該操作。Jessie 使用此檢視來標識可能有問題的查詢,然後,她可以進行進一步調查,即檢視 SQL 以確定是否能夠減少查詢在執行時讀取的行數。
LONG_RUNNING_SQL
Jessie 使用 LONG_RUNNING_SQL 管理檢視來標識當前正在執行的執行時間最長的查詢:
connect to shopmart;
select ELAPSED_TIME_MIN, APPL_STATUS, AGENT_ID from long_running_sql
order by ELAPSED_TIME_MIN desc fetch first 5 rows only;
通過使用此檢視,她可以確定這些查詢已執行的時間長度以及這些查詢的狀態。如果某個查詢已執行了很長時間並且正在等待鎖,她就可以使用對特定代理程式標識執行查詢的 LOCKWAITS 或 LOCK_HELD 管理檢視來進行進一步調查。LONG_RUNNING_SQL 檢視還會指出正在執行的語句並允許她標識可能有問題的 SQL。
QUERY_PREP_COST
Jessie 使用 QUERY_PREP_COST 來對已確定有問題的查詢進行故障診斷。此檢視可以指出查詢的執行頻率以及這些查詢中每個查詢的平均執行時間:
connect to shopmart;
select NUM_EXECUTIONS, AVERAGE_EXECUTION_TIME_S, PREP_TIME_PERCENT from
QUERY_PREP_COST order by NUM_EXECUTIONS desc;
PREP_TIME_PERCENT 值向 Jessie 指出準備查詢時耗用的時間在查詢執行時間中所佔的百分比。如果編譯和優化查詢時耗用的時間幾乎與查詢的執行時間一樣長,那麼,Jessie 可以建議該查詢的所有者更改用於該查詢的優化類。降低優化類可以使該查詢更快地完成優化,從而更快地返回結果。但是,如果某個查詢需要相當長的時間來進行準備,但要執行數千次(而不必再次進行準備),則更改優化類並不能提高查詢效能。
TOP_DYNAMIC_SQL
Jessie 使用 TOP_DYNAMIC_SQL 檢視來標識執行頻率最高、執行時間最長和排序次數最多的動態 SQL 語句。有了此資訊,Jessie 在進行 SQL 調整工作時就可以把注意力放在代表某些最大資源使用者的查詢上。
為了標識執行頻率最高的動態 SQL 語句,Jessie 發出以下語句:
connect to shopmart;
select * from TOP_DYNAMIC_SQL order by NUM_EXECUTIONS
desc fetch first 5 rows only;
此語句返回執行頻率最高的 5 個動態 SQL 語句的所有執行時間、排序執行次數和語句文字詳細資訊。
為了標識執行時間最長的動態 SQL 語句,Jessie 檢查 AVERAGE_EXECUTION_TIME_S 值最大的 5 個查詢:
connect to shopmart;
select * from TOP_DYNAMIC_SQL order by AVERAGE_EXECUTION_TIME_S
desc fetch first 5 rows only;
為了檢視排序次數最多的動態 SQL 語句的詳細資訊,Jessie 發出以下語句:
connect to shopmart;
select STMT_SORTS, SORTS_PER_EXECUTION, substr(STMT_TEXT,1,60) as STMT_TEXT
from TOP_DYNAMIC_SQL order by STMT_SORTS desc fetch first 5 rows only;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9524210/viewspace-376283/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle檢視TOP SQLOracleSQL
- Oracle檢視歷史TOP SQLOracleSQL
- oracle10g新特性——物化檢視Oracle
- oracle 12c 新特性三:rman命令視窗可以執行sql語句OracleSQL
- ZT oracle10g新特性——物化檢視Oracle
- V$SQLAREA 檢視TOP_SQLSQL
- oracle,db2,mysql類比之一常用類似知識點OracleDB2MySql
- DB2檢視鎖等待的SQLDB2SQL
- oracle檢視可以update嗎Oracle
- Oracle 12c新特性 - Top frequency histogram 3OracleHistogram
- Oracle 12c新特性 - Top frequency histogram 2OracleHistogram
- Oracle 12c新特性 - Top frequency histogram 1OracleHistogram
- Oracle 12C 新特性之 sqlplus檢視History命令OracleSQL
- oracle 10G 物化檢視新特性(測試效果不理想)Oracle 10g
- 本人新書出版: DB2 V9 權威指南新書DB2
- DB2 v9 overviewDB2View
- 【Swift】類似於微博、微信的多圖瀏覽 檢視Swift
- SQL Server中類似Oracle中before觸發器SQLServerOracle觸發器
- ORACLE TOP SQLOracleSQL
- Oracle SQL Developer 4.1 和 SQLcl 的新特性OracleSQLDeveloper
- Oracle 檢視可以DML操作的條件Oracle
- Oracle 12C R2-新特性-新增兩個檢視:方便檢視trace檔案和內容Oracle
- oracle 11g 新特性 磁碟組檢查Oracle
- Oracle 11g 新特性 -- SQL Plan Management 示例OracleSQL
- Oracle11g新特性:SQL Result Cache [zt]OracleSQL
- db2檢視錶大小DB2
- 原生JS實現類似《掘金》網站的圖片檢視器JS網站
- [Django REST framework - 檢視元件之檢視基類、檢視擴充套件類、檢視子類、檢視集]DjangoRESTFramework元件套件
- [Oracle Script] Top sqlOracleSQL
- mysql上排名sql的寫法,類似oracle的rank和denseMySqlOracle
- Oracle 11g SQL效能的新特性(三)- SQL Plan ManagementOracleSQL
- MySQL8.0 新特性 top10MySql
- SQL檢視SQL
- Oracle 檢視sql開幾個並行OracleSQL並行
- Oracle 檢視SQL的執行計劃OracleSQL
- 檢視Oracle隱藏引數的SQLOracleSQL
- ORACLE之檢視資料庫的SQLOracle資料庫SQL
- 轉:類似SQL中的split函式SQL函式