Tkprof命令輸出的解釋:
Tkprof命令輸出的解釋:
用法:
tkprof tracefile outputfile [explain= ] [table= ] [print= ] [insert= ] [sys= ] [sort= ]
引數說明:
tracefile:你要分析的trace檔案
outputfile:格式化後的檔案
explain=user/password@connectstring
table=schema.tablename
這兩個引數是一起使用的,透過連線資料庫對在trace檔案中出現的每條sql語句檢視執行計劃,並將之輸出到outputfile中
注意,該table必須是資料庫中不存在的,如果存在會報錯
print=n:只列出最初N個sql執行語句
insert=filename:會產生一個sql檔案,執行此檔案可將收集到的資料insert到資料庫表中
sys=no:過濾掉由sys執行的語句
record=filename:可將非巢狀執行的sql語句過濾到指定的檔案中去
waits=yes|no:是否統計任何等待事件
aggregate=yes|no:是否將相同sql語句的執行資訊合計起來,預設為yes
sort=option:設定排序選項,選項如下:
首先解釋輸出檔案中列的含義:
CALL:每次SQL語句的處理都分成三個部分
Parse:這步將SQL語句轉換成執行計劃,包括檢查是否有正確的授權和所需要用到的表、列以及其他引用到的物件是否存在。
Execute:這步是真正的由Oracle來執行語句。對於insert、update、delete操作,這步會修改資料,對於select操作,這步就只是確定選擇的記錄。
Fetch:返回查詢語句中所獲得的記錄,這步只有select語句會被執行。
COUNT:這個語句被parse、execute、fetch的次數。
CPU:這個語句對於所有的parse、execute、fetch所消耗的cpu的時間,以秒為單位。
ELAPSED:這個語句所有消耗在parse、execute、fetch的總的時間。
DISK:從磁碟上的資料檔案中物理讀取的塊的數量。一般來說更想知道的是正在從快取中讀取的資料而不是從磁碟上讀取的資料。
QUERY:在一致性讀模式下,所有parse、execute、fetch所獲得的buffer的數量。一致性模式的buffer是用於給一個長時間執行的事務提供一個一致性讀的快照,快取實際上在頭部儲存了狀態。
CURRENT:在current模式下所獲得的buffer的數量。一般在current模式下執行insert、update、delete操作都會獲取buffer。在current模式下如果在快取記憶體區發現有新的快取足夠給當前的事務使用,則這些buffer都會被讀入了快取區中。
ROWS: 所有SQL語句返回的記錄數目,但是不包括子查詢中返回的記錄數目。對於select語句,返回記錄是在fetch這步,對於insert、update、delete操作,返回記錄則是在execute這步。
用法:
tkprof tracefile outputfile [explain= ] [table= ] [print= ] [insert= ] [sys= ] [sort= ]
引數說明:
tracefile:你要分析的trace檔案
outputfile:格式化後的檔案
explain=user/password@connectstring
table=schema.tablename
這兩個引數是一起使用的,透過連線資料庫對在trace檔案中出現的每條sql語句檢視執行計劃,並將之輸出到outputfile中
注意,該table必須是資料庫中不存在的,如果存在會報錯
print=n:只列出最初N個sql執行語句
insert=filename:會產生一個sql檔案,執行此檔案可將收集到的資料insert到資料庫表中
sys=no:過濾掉由sys執行的語句
record=filename:可將非巢狀執行的sql語句過濾到指定的檔案中去
waits=yes|no:是否統計任何等待事件
aggregate=yes|no:是否將相同sql語句的執行資訊合計起來,預設為yes
sort=option:設定排序選項,選項如下:
首先解釋輸出檔案中列的含義:
CALL:每次SQL語句的處理都分成三個部分
Parse:這步將SQL語句轉換成執行計劃,包括檢查是否有正確的授權和所需要用到的表、列以及其他引用到的物件是否存在。
Execute:這步是真正的由Oracle來執行語句。對於insert、update、delete操作,這步會修改資料,對於select操作,這步就只是確定選擇的記錄。
Fetch:返回查詢語句中所獲得的記錄,這步只有select語句會被執行。
COUNT:這個語句被parse、execute、fetch的次數。
CPU:這個語句對於所有的parse、execute、fetch所消耗的cpu的時間,以秒為單位。
ELAPSED:這個語句所有消耗在parse、execute、fetch的總的時間。
DISK:從磁碟上的資料檔案中物理讀取的塊的數量。一般來說更想知道的是正在從快取中讀取的資料而不是從磁碟上讀取的資料。
QUERY:在一致性讀模式下,所有parse、execute、fetch所獲得的buffer的數量。一致性模式的buffer是用於給一個長時間執行的事務提供一個一致性讀的快照,快取實際上在頭部儲存了狀態。
CURRENT:在current模式下所獲得的buffer的數量。一般在current模式下執行insert、update、delete操作都會獲取buffer。在current模式下如果在快取記憶體區發現有新的快取足夠給當前的事務使用,則這些buffer都會被讀入了快取區中。
ROWS: 所有SQL語句返回的記錄數目,但是不包括子查詢中返回的記錄數目。對於select語句,返回記錄是在fetch這步,對於insert、update、delete操作,返回記錄則是在execute這步。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29065182/viewspace-1173987/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- top命令輸出詳解
- MongoDB的mongostat命令輸出詳解MongoDB
- java中基本輸入輸出流的解釋Java
- [sql 優化]使用TKPROF格式化TRACE輸出SQL優化
- free -m命令輸出詳解
- MySQL的Explain結果輸出項解釋MySqlAI
- tkprof命令列工具用法小結命令列
- MySQL show status命令輸出結果詳解MySql
- MySQL show status命令常用輸出欄位詳解MySql
- dd命令的解釋
- 把Oracle的命令輸出傳送到檔案的命令Oracle
- [20171205]uniq命令的輸入輸出.txt
- 效能分析命令輸出說明
- DCDiag命令解釋
- 在命令列上輸出進度條的原理命令列
- tar命令的詳細解釋
- OpenWrt arp 命令釋出
- 詳解Java中的IO輸入輸出流!Java
- cmd 命令列模式下輸出中文時顯示亂碼的解決方案命令列模式
- npm命令及解釋NPM
- C++ cout列印輸出 (解決輸出亂碼)C++
- db2 list history backup輸出資訊中各個型別的解釋DB2型別
- 微軟最爽命令列工具釋出!微軟命令列
- Python 輸出命令列進度條Python命令列
- TKPROF的使用簡介
- tkprof命令列工具用法小結,獻給初學者朋友命令列
- 如何在Linux上分享你shell命令的輸出Linux
- 把oracle RMAN的命令輸出寫在檔案上Oracle
- liunx之:top命令解釋
- docker 命令詳細解釋Docker
- aix 中 topas命令解釋AI
- Linux部分命令解釋Linux
- top命令詳細解釋
- SQL SERVER DBCC命令解釋SQLServer
- Set autotrace命令及解釋
- veritas cfs or vcs命令解釋
- 如何用python3輸出dos命令?Python
- SQLPLUS命令列儲存輸出資訊SQL命令列