posts - 104,  comments - 34,  trackbacks - 0

          v$sqltext
          存儲的是完整的SQL,SQL被分割

          SQL> desc v$sqltext
          Name                                      Null? Type
          ----------------------------------------- -------- ----------------------------
          ADDRESS                                            RAW(4) ---------
          HASH_VALUE                                         NUMBER ---------   和 address 一起唯一標(biāo)志一條sql
          COMMAND_TYPE                                     NUMBER
          PIECE                                           NUMBER ----------   分片之后的順序編號
          SQL_TEXT                                        VARCHAR2(64) --------------   注意長度



          v$sqlarea ---------   存儲的SQL 和一些相關(guān)的信息,比如累計的執(zhí)行次數(shù),邏輯讀,物理讀等統(tǒng)計信息
          SQL> desc v$sqlarea
          Name                                      Null? Type
          ----------------------------------------- -------- ----------------------------
          SQL_TEXT                                        VARCHAR2(1000)
          SHARABLE_MEM                                     NUMBER
          PERSISTENT_MEM                                  NUMBER
          RUNTIME_MEM                                     NUMBER
          SORTS                                           NUMBER
          VERSION_COUNT                                      NUMBER
          LOADED_VERSIONS                                  NUMBER
          OPEN_VERSIONS                                      NUMBER
          USERS_OPENING                                      NUMBER
          FETCHES                                            NUMBER
          EXECUTIONS                                         NUMBER
          USERS_EXECUTING                                  NUMBER
          LOADS                                           NUMBER
          FIRST_LOAD_TIME                                  VARCHAR2(38)
          INVALIDATIONS                                      NUMBER
          PARSE_CALLS                                     NUMBER
          DISK_READS                                         NUMBER
          BUFFER_GETS                                     NUMBER
          ROWS_PROCESSED                                  NUMBER
          COMMAND_TYPE                                     NUMBER
          OPTIMIZER_MODE                                  VARCHAR2(25)
          PARSING_USER_ID                                  NUMBER
          PARSING_SCHEMA_ID                               NUMBER
          KEPT_VERSIONS                                      NUMBER
          ADDRESS                                            RAW(4)
          HASH_VALUE                                         NUMBER
          MODULE                                           VARCHAR2(64)
          MODULE_HASH                                     NUMBER
          ACTION                                           VARCHAR2(64)
          ACTION_HASH                                     NUMBER
          SERIALIZABLE_ABORTS                                NUMBER
          CPU_TIME                                        NUMBER
          ELAPSED_TIME                                     NUMBER
          IS_OBSOLETE                                     VARCHAR2(1)
          CHILD_LATCH                                     NUMBER




          v$sql     ----------   存儲的是具體的SQL 和執(zhí)行計劃相關(guān)信息,實際上,v$sqlarea 可以看做 v$sql 根據(jù) sqltext 等 做了 group by 之后的信息


          SQL> desc v$sql
          Name                                      Null? Type
          ----------------------------------------- -------- ----------------------------
          SQL_TEXT                                        VARCHAR2(1000)
          SHARABLE_MEM                                     NUMBER
          PERSISTENT_MEM                                  NUMBER
          RUNTIME_MEM                                     NUMBER
          SORTS                                           NUMBER
          LOADED_VERSIONS                                  NUMBER
          OPEN_VERSIONS                                      NUMBER
          USERS_OPENING                                      NUMBER
          FETCHES                                            NUMBER
          EXECUTIONS                                         NUMBER
          USERS_EXECUTING                                  NUMBER
          LOADS                                           NUMBER
          FIRST_LOAD_TIME                                  VARCHAR2(38)
          INVALIDATIONS                                      NUMBER
          PARSE_CALLS                                     NUMBER
          DISK_READS                                         NUMBER
          BUFFER_GETS                                     NUMBER
          ROWS_PROCESSED                                  NUMBER
          COMMAND_TYPE                                     NUMBER
          OPTIMIZER_MODE                                  VARCHAR2(10)
          OPTIMIZER_COST                                  NUMBER
          PARSING_USER_ID                                  NUMBER
          PARSING_SCHEMA_ID                               NUMBER
          KEPT_VERSIONS                                      NUMBER
          ADDRESS                                            RAW(4)
          TYPE_CHK_HEAP                                      RAW(4)
          HASH_VALUE                                         NUMBER
          PLAN_HASH_VALUE                                  NUMBER
          CHILD_NUMBER                                     NUMBER ----------   注意這個  
          MODULE                                           VARCHAR2(64)
          MODULE_HASH                                     NUMBER
          ACTION                                           VARCHAR2(64)
          ACTION_HASH                                     NUMBER
          SERIALIZABLE_ABORTS                                NUMBER
          OUTLINE_CATEGORY                                   VARCHAR2(64)
          CPU_TIME                                        NUMBER
          ELAPSED_TIME                                     NUMBER
          OUTLINE_SID                                     NUMBER --------------   注意這里跟 outline 有關(guān)
          CHILD_ADDRESS                                      RAW(4)
          SQLTYPE                                            NUMBER
          REMOTE                                           VARCHAR2(1)
          OBJECT_STATUS                                      VARCHAR2(19)
          LITERAL_HASH_VALUE                               NUMBER
          LAST_LOAD_TIME                                  VARCHAR2(38)
          IS_OBSOLETE                                     VARCHAR2(1)
          CHILD_LATCH                                     NUMBER

          補充:
          1、查一下這些視圖的定義你就能理解,它們的源都是一個。
          SELECT view_definition FROM v$fixed_view_definition        WHERE view_name='GV$SQL';
          SELECT view_definition FROM v$fixed_view_definition        WHERE view_name='GV$SQL_AREA';

          2、實際上最模糊的是v$sql與v$sqlarea,區(qū)別與聯(lián)系還有:

          a、v$sql_area相當(dāng)于是按INST_ID, KGLNAOBJ, KGLHDPAR, KGLNAHSH, KGLNATIM, GLOBTS0,GLOBT19, KGLOBTS1, KGLOBT20,DECODE(KGLOBT33, 1, 'Y', 'N'),KGLHDCLT這些列的自v$sql的group by,也就是說v$sql的每一行表示的是每一個sql語句的一個versiion,而v$sqlarea存放的是相同語句不同version一個匯總。

          b、 v$sql與v$sqlarea的源都是一個:X$KGLCURSOR

          c、實際調(diào)優(yōu)中建議使用v$sql,相對來說比v$sqlarea快,而且還不會產(chǎn)生share pool latch的爭用。

          3、因v$sql及v$sqlarea存放著統(tǒng)計信息在調(diào)優(yōu)時使用居多,但其sql是不全的,如果想獲得完整的sql就要用v$sqltext了。


          另外注意這個
          QL> desc v$sql_plan
          Name                                      Null? Type
          ----------------------------------------- -------- ----------------------------
          ADDRESS                                            RAW(4)
          HASH_VALUE                                         NUMBER
          CHILD_NUMBER                                     NUMBER ------------ 注意這個和 v$sql 里面的相同字段
          OPERATION                                        VARCHAR2(60)
          OPTIONS                                            VARCHAR2(60)
          OBJECT_NODE                                     VARCHAR2(20)
          OBJECT#                                            NUMBER
          OBJECT_OWNER                                     VARCHAR2(30)
          OBJECT_NAME                                     VARCHAR2(64)
          OPTIMIZER                                        VARCHAR2(40)
          ID                                              NUMBER
          PARENT_ID                                        NUMBER
          DEPTH                                           NUMBER
          POSITION                                        NUMBER
          SEARCH_COLUMNS                                  NUMBER
          COST                                               NUMBER
          CARDINALITY                                     NUMBER
          BYTES                                           NUMBER
          OTHER_TAG                                        VARCHAR2(70)
          PARTITION_START                                  VARCHAR2(10)
          PARTITION_STOP                                  VARCHAR2(10)
          PARTITION_ID                                     NUMBER
          OTHER                                           VARCHAR2(4000)
          DISTRIBUTION                                     VARCHAR2(40)
          CPU_COST                                        NUMBER
          IO_COST                                            NUMBER
          TEMP_SPACE                                         NUMBER
          ACCESS_PREDICATES                               VARCHAR2(4000)
          FILTER_PREDICATES                               VARCHAR2(4000)


          實際上,看起來同樣的一句SQL ,往往具有不同的執(zhí)行計劃
          如果是不同的數(shù)據(jù)庫用戶,那么相應(yīng)的涉及的 對象 可能都不一樣,注意v$sql 中
          OBJECT#                                            NUMBER
          OBJECT_OWNER                                     VARCHAR2(30)
          OBJECT_NAME                                     VARCHAR2(64)
          OPTIMIZER                                        VARCHAR2(40)

          即使是相同的數(shù)據(jù)庫用戶,若 session 的優(yōu)化模式、session 級的參數(shù) 等不一樣,執(zhí)行計劃也能不同。所以即使相同的sql,也可能具有不同的執(zhí)行計劃!

          v$sql join   to   v$sql_plan   就代表了具體的sql的執(zhí)行計劃,通過下面3個字段做連接

          ADDRESS                                            RAW(4)
          HASH_VALUE                                         NUMBER
          CHILD_NUMBER                                     NUMBER


          而v$SQLAREA 忽略了   執(zhí)行計劃 等差異,只是在形式上sql文本看起來一樣!相當(dāng)于做了個聚合,是多個不同執(zhí)行計劃的sql的聚合和累計信息

          posted on 2010-08-14 16:44 末日風(fēng)情 閱讀(525) 評論(0)  編輯  收藏 所屬分類: oracle
          <2010年8月>
          25262728293031
          1234567
          891011121314
          15161718192021
          22232425262728
          2930311234

          常用鏈接

          留言簿(4)

          隨筆分類

          隨筆檔案

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 涞源县| 茂名市| 六安市| 双峰县| 湟源县| 阿坝县| 盐山县| 姚安县| 五寨县| 砚山县| 娱乐| 高碑店市| 文安县| 兴安盟| 嘉鱼县| 南昌市| 威远县| 南澳县| 陆丰市| 广昌县| 龙泉市| 呼伦贝尔市| 广丰县| 襄垣县| 塔城市| 邓州市| 齐齐哈尔市| 江华| 牟定县| 浦江县| 香港| 新安县| 长治市| 柳江县| 中宁县| 诸暨市| 亳州市| 沙洋县| 巴东县| 建水县| 砚山县|