Oracle9i中v$sql、v$sqlarea、v$sqltext、v$sql_plan的聯絡與區別
這樣就要求分別有一個獨立的遊標(即子游標)來區別出每一種情況下的不同的執行行為。[@more@]
Oracle用v$sqlarea中一行儲存同樣語句的SQL,並用欄位version_count的值來指出子游標的個
數,而在v$sql裡面為每個子游標保留了一個單獨的行。兩個表可以透過欄位address和hash_value
相互對應。例如下面例子:
SQL> select address,hash_value,sql_text,version_count
2 from v$sqlarea where sql_text like 'select value$ from sys.props%';
ADDRESS HASH_VALUE SQL_TEXT VERSION_COUNT
-------- ---------- ---------------------------------------------- -------------
97F1C9C4 563046721 select value$ from sys.props$ where name = :1 3
SQL> select address,hash_value,child_address,child_number,sql_text
2 from v$sql where sql_text like 'select value$ from sys.props%';
ADDRESS HASH_VALUE CHILD_ADDRESS CHILD_NUMBER SQL_TEXT
-------- ---------- ------------- ------------ ----------------------------------------------
97F1C9C4 563046721 97F1C448 0 select value$ from sys.props$ where name = :1
97F1C9C4 563046721 97EAD3B0 1 select value$ from sys.props$ where name = :1
97F1C9C4 563046721 97E7EEF0 2 select value$ from sys.props$ where name = :1
如果想找出這個SQL語句的執行計劃,也可以透過欄位address、hash_value和child_number到v$sql_plan中查詢,
v$sql_plan中是區分了不同子游標的執行計劃的
SQL> select address,child_number,lpad('',2*level)||operation||decode(id,0,' cost='||position) op,
2 options,object_name
3 from v$sql_plan t where address='97F1C9C4' and hash_value=563046721;
ADDRESS CHILD_NUMBER OP OPTIONS OBJECT_NAME
-------- ------------ ------------------------- ----------- -------------
97F1C9C4 2 SELECT STATEMENT cost=0
97F1C9C4 2 TABLE ACCESS FULL PROPS$
97F1C9C4 1 SELECT STATEMENT cost=0
97F1C9C4 1 TABLE ACCESS FULL PROPS$
97F1C9C4 0 SELECT STATEMENT cost=0
97F1C9C4 0 TABLE ACCESS FULL PROPS$
檢視v$sqltext中沒有SQL語句的相關統計資訊,但是v$sqltext用多行來儲存sql語句,而v$sqlarea中只能
儲存sql語句的前1000個位元組,所以如果sql語句大於1000個位元組,就要到v$sqltext中檢視完整的語句,其字
段PIECE表示每個sql的行順序。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31444259/viewspace-2154437/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- v$sql,v$sqlarea,v$sqltext區別SQL
- v-html 、v-text({{}}) 、v-model的區別HTML
- v-if和v-show的區別
- android之support-v4、v7、v13的區別Android
- [vue] 常見用法之 v-html、v-text、v-model區別VueHTML
- vue 的v-on與v-bindVue
- v-if和v-show區別+元件通訊問題元件
- vue v-text,v-html,v-once,v-pre,v-cloak的使用VueHTML
- 前端【VUE】02-vue指令【v-html 、v-show、 v-if 、v-else、v-on、v-bind、v-for、v-model】前端VueHTML
- vue_o6_v-once、v-html、v-text、v-pre、v-cloak指令的使用VueHTML
- 手機充電器5V2A和5V1A的區別,5V2A和5V1A充電器可以通用嗎?
- EMQ 文件 V1.0 V2.0 V3.0MQ
- v-if和v-show
- vue中v-model和.sync修飾符區別Vue
- CANoe C-V2X Demo(V2I+V2V)演示視訊
- 維數定理(手推!):證明dim(v1)+dim(v2) = dim(v1+v2) + dim(v1∩v2)
- 1V升壓3V,1V升壓3.3V晶片,1V升壓5V升壓IC晶片
- v
- 1V升3V,1V升3.3V,1V升5V高電流,低功耗升壓晶片晶片
- vue中的v-html,v-text,{{}}三種渲染模板VueHTML
- Vue v-if以及 v-else 的使用Vue
- v-if與v-show造成部分元素丟失的問題——v-if複用元素問題
- 24v轉120v,24V轉150v/350v隔離變壓電源模組
- React Router從V2/V3到V4的變化React
- (精華2020年5月4日更新) vue教程篇 v-text,v-html,v-once,v-pre,v-cloak的使用VueHTML
- React v16 與 Webpack v4 的多特性模板專案ReactWeb
- V1.0和V1.1開發版有什麼區別呀?用哪個好呢?
- v-for,v-bink,綜合案例
- 1V升5V晶片,1V升5V電路圖規格書晶片
- v-for
- javaSE中的==和equals的聯絡與區別Java
- e52680v2與e52690v2哪個好
- 動態元件與v-on元件
- cookie與session的區別與聯絡CookieSession
- Session與Cookie的區別與聯絡SessionCookie
- JRE與JDK的區別與聯絡JDK
- v-for的使用
- +3.3V_Standby和+3.3V_Normal的關係ORM