v$sqlarea,v$sql,v$sqltext三個檢視的區別

shiyihai發表於2006-12-22


V$SQL:Child cursor details for V$SQLAREA
V$SQLAREA:Shared pool details for statements/anonymous blocks
V$SQLTEXT:SQL text of statements in the shared pool
v$sql的每一行表示的是每一個sql語句的一個版本,而v$sqlarea存放的是相同語句不同版本一個group by彙總。
v$sql與v$sqlarea的源都是X$KGLCURSOR
v$sql及v$sqlarea存放著統計資訊在調優時使用居多,但其sql是不全的,如果想獲得完整的sql需使用v$sqltext。


v$sqltext中儲存的是完整的SQL,SQL被分割。
SQL> desc v$sqltext
Name Type Nullable Default Comments
------------ ------------ -------- ------- --------
ADDRESS RAW(8) Y
HASH_VALUE NUMBER Y
COMMAND_TYPE NUMBER Y
PIECE NUMBER Y
SQL_TEXT VARCHAR2(64) Y
address和hash_value一起唯一標識一條sql語句,piece是完整的sql語句的分片號,sql_text是每片中的sql語句。

v$sqlarea中儲存sql語句和一些相關的資訊(例如累計執行次數,邏輯讀,物理讀等統計資訊)
SQL> desc v$sqlarea
Name Type Nullable Default Comments
------------------- -------------- -------- ------- --------
SQL_TEXT VARCHAR2(1000) Y
SHARABLE_MEM NUMBER Y
PERSISTENT_MEM NUMBER Y
RUNTIME_MEM NUMBER Y
SORTS NUMBER Y
VERSION_COUNT NUMBER Y
LOADED_VERSIONS NUMBER Y
OPEN_VERSIONS NUMBER Y
USERS_OPENING NUMBER Y
FETCHES NUMBER Y
EXECUTIONS NUMBER Y
USERS_EXECUTING NUMBER Y
LOADS NUMBER Y
FIRST_LOAD_TIME VARCHAR2(38) Y
INVALIDATIONS NUMBER Y
PARSE_CALLS NUMBER Y
DISK_READS NUMBER Y
BUFFER_GETS NUMBER Y
ROWS_PROCESSED NUMBER Y
COMMAND_TYPE NUMBER Y
OPTIMIZER_MODE VARCHAR2(25) Y
PARSING_USER_ID NUMBER Y
PARSING_SCHEMA_ID NUMBER Y
KEPT_VERSIONS NUMBER Y
ADDRESS RAW(8) Y
HASH_VALUE NUMBER Y
MODULE VARCHAR2(64) Y
MODULE_HASH NUMBER Y
ACTION VARCHAR2(64) Y
ACTION_HASH NUMBER Y
SERIALIZABLE_ABORTS NUMBER Y
CPU_TIME NUMBER Y
ELAPSED_TIME NUMBER Y
IS_OBSOLETE VARCHAR2(1) Y
CHILD_LATCH NUMBER Y

v$sql中儲存具體的sql和執行計劃的相關資訊。實際上,v$sqlarea可看成是v$sql根據sqltext等group by之後的資訊。
SQL> desc v$sql
Name Type Nullable Default Comments
------------------- -------------- -------- ------- --------
SQL_TEXT VARCHAR2(1000) Y
SHARABLE_MEM NUMBER Y
PERSISTENT_MEM NUMBER Y
RUNTIME_MEM NUMBER Y
SORTS NUMBER Y
LOADED_VERSIONS NUMBER Y
OPEN_VERSIONS NUMBER Y
USERS_OPENING NUMBER Y
FETCHES NUMBER Y
EXECUTIONS NUMBER Y
USERS_EXECUTING NUMBER Y
LOADS NUMBER Y
FIRST_LOAD_TIME VARCHAR2(38) Y
INVALIDATIONS NUMBER Y
PARSE_CALLS NUMBER Y
DISK_READS NUMBER Y
BUFFER_GETS NUMBER Y
ROWS_PROCESSED NUMBER Y
COMMAND_TYPE NUMBER Y
OPTIMIZER_MODE VARCHAR2(10) Y
OPTIMIZER_COST NUMBER Y
PARSING_USER_ID NUMBER Y
PARSING_SCHEMA_ID NUMBER Y
KEPT_VERSIONS NUMBER Y
ADDRESS RAW(8) Y
TYPE_CHK_HEAP RAW(8) Y
HASH_VALUE NUMBER Y
PLAN_HASH_VALUE NUMBER Y
CHILD_NUMBER NUMBER Y
MODULE VARCHAR2(64) Y
MODULE_HASH NUMBER Y
ACTION VARCHAR2(64) Y
ACTION_HASH NUMBER Y
SERIALIZABLE_ABORTS NUMBER Y
OUTLINE_CATEGORY VARCHAR2(64) Y
CPU_TIME NUMBER Y
ELAPSED_TIME NUMBER Y
OUTLINE_SID NUMBER Y
CHILD_ADDRESS RAW(8) Y
SQLTYPE NUMBER Y
REMOTE VARCHAR2(1) Y
OBJECT_STATUS VARCHAR2(19) Y
LITERAL_HASH_VALUE NUMBER Y
LAST_LOAD_TIME VARCHAR2(38) Y
IS_OBSOLETE VARCHAR2(1) Y
CHILD_LATCH NUMBER Y

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/38542/viewspace-885839/,如需轉載,請註明出處,否則將追究法律責任。

相關文章