校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > Oracle 12CR2查詢轉換教程之cursor-duration臨時表詳解

Oracle 12CR2查詢轉換教程之cursor-duration臨時表詳解

熱門標簽:安陽外呼系統免費 400電話是不是免費申請 濟南地圖標注公司 圖像地圖標注 分布式呼叫中心 海南400電話哪里辦理 貴陽電話外呼系統哪家好 呼倫貝爾智能手機地圖標注 南寧人工智能電銷機器人費用

前言

在Oracle12C中為了物化查詢的中間結果,Oracle數據庫在查詢編譯時在內存中可能會隱式的創建一個cursor_duration臨時表。

下面話不多說了,來一起看看詳細的介紹吧

Cursor-Duration臨時表的作用

復雜查詢有時會處理相同查詢塊多次,這將會增加不必要的性能開鎖。為了避免這種問題,Oracle數據庫可以在游標生命周期內為查詢結果創建臨時表并存儲在內存中。對于有with子句查詢,星型轉換與分組集合操作的復雜操作,這種優化增強了使用物化中間結果來優化子查詢。在這種方式下,cursor-duration臨時表提高了性能并且優化了I/O。

Cursor-Duration臨時表工作原理

cursor-definition臨時表定義內置在內存中。表定義與游標相關,并且只對執行游標的會話可見。當使用cursor-duration臨時表時,數據庫將執行以下操作:

1.選擇使用cursor-duration臨時表的執行計劃

2.創建臨時表時使用唯一名

3.重寫查詢引用臨時表

4.加載數據到內存中直到沒有內存可用,在這種情次品下將在磁盤上創建臨時段

5.執行查詢,從臨時表中返回數據

6.truncate表,釋放內存與任何磁盤上的臨時段

注意,cursor-duration臨時表的元數據只要cursor在內存中就會一直存在于內存中。元數據不會存儲在數據字典中這意味著通過數據字典視圖將不能查詢到,不能顯性地刪除元數據。上面的場景依賴于可用的內存。對于特定查詢,臨時表使用PGA內存。

cursor-duration臨時表的實現類似于排序。如果沒有可用內存,那么數據庫將把數據寫入臨時段。對于cursor-duration臨時表,主要差異如下:

.在查詢結束時數據庫釋放內存與臨時段而不是當row source不現活動時釋放。

.內存中的數據仍然存儲在內存中,不像排序數據可能在內存與臨時段之間移動。

當數據庫使用cursor-duration臨時表時,關鍵字cursor duration memory會出現在執行計劃中。

cursor-duration臨時表使用場景

一個with查詢重復相同子查詢多次可能有時使用cursor-duration臨時表性能更高,下面的查詢使用一個with子句來創建三個子查詢塊:

SQL> set long 99999
SQL> set linesize 300
SQL> with
 2 q1 as (select department_id, sum(salary) sum_sal from hr.employees group by
 3 department_id),
 4 q2 as (select * from q1),
 5 q3 as (select department_id, sum_sal from q1)
 6 select * from q1
 7 union all
 8 select * from q2
 9 union all
 10 select * from q3;

DEPARTMENT_ID SUM_SAL
------------- ----------
   100  51608
   30  24900
     7000
   90  58000
   20  19000
   70  10000
   110  20308
   50  156400
   80  304500
   40  6500
   60  28800
   10  4400
   100  51608
   30  24900
     7000
   90  58000
   20  19000
   70  10000
   110  20308
   50  156400
   80  304500
   40  6500
   60  28800
   10  4400
   100  51608
   30  24900
     7000
   90  58000
   20  19000
   70  10000
   110  20308
   50  156400
   80  304500
   40  6500
   60  28800
   10  4400

36 rows selected.

下面是優化轉換后的執行計劃

SQL> select * from table(dbms_xplan.display_cursor(format=>'basic +rows +cost'));

PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------
EXPLAINED SQL STATEMENT:
------------------------
with q1 as (select department_id, sum(salary) sum_sal from hr.employees
group by department_id), q2 as (select * from q1), q3 as (select
department_id, sum_sal from q1) select * from q1 union all select *
from q2 union all select * from q3

Plan hash value: 4087957524

----------------------------------------------------------------------------------------------------
| Id | Operation        | Name      | Rows | Cost (%CPU)|

PLAN_TABLE_OUTPUT
----------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT       |       |  |  6 (100)|
| 1 | TEMP TABLE TRANSFORMATION    |       |  |   |
| 2 | LOAD AS SELECT (CURSOR DURATION MEMORY)| SYS_TEMP_0FD9E08D2_620789C |  |   |
| 3 | HASH GROUP BY       |       | 11 | 276 (2)|
| 4 |  TABLE ACCESS FULL     | EMPLOYEES     | 100K| 273 (1)|
| 5 | UNION-ALL        |       |  |   |
| 6 | VIEW         |       | 11 |  2 (0)|
| 7 |  TABLE ACCESS FULL     | SYS_TEMP_0FD9E08D2_620789C | 11 |  2 (0)|
| 8 | VIEW         |       | 11 |  2 (0)|
| 9 |  TABLE ACCESS FULL     | SYS_TEMP_0FD9E08D2_620789C | 11 |  2 (0)|
| 10 | VIEW         |       | 11 |  2 (0)|
| 11 |  TABLE ACCESS FULL     | SYS_TEMP_0FD9E08D2_620789C | 11 |  2 (0)|
----------------------------------------------------------------------------------------------------


26 rows selected.

在上面的執行計劃中,在步驟1中的TEMP TABLE TRANSFORMATION指示數據庫使用cursor-duration臨時表來執行查詢。在步驟2中的CURSOR DURATION MEMORY指示數據庫使用內存,如果有可用內存,將結果作為臨時表SYS_TEMP_0FD9E08D2_620789C來進行存儲。如果沒有可用內存,那么數據庫將臨時數據寫入磁盤。

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

您可能感興趣的文章:
  • Oracle 12CR2查詢轉換教程之臨時表轉換詳解
  • oracle 臨時表詳解及實例
  • 對比Oracle臨時表和SQL Server臨時表的不同點
  • Oracle 臨時表空間SQL語句的實現

標簽:遼源 許昌 合肥 郴州 滁州 南充 焦作 涼山

巨人網絡通訊聲明:本文標題《Oracle 12CR2查詢轉換教程之cursor-duration臨時表詳解》,本文關鍵詞  Oracle,12CR2,查詢,轉換,教程,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Oracle 12CR2查詢轉換教程之cursor-duration臨時表詳解》相關的同類信息!
  • 本頁收集關于Oracle 12CR2查詢轉換教程之cursor-duration臨時表詳解的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    亚洲欧美日韩一区| 成年人国产精品| 国产精品美女久久久久久久| 欧美精品黑人性xxxx| 成人av电影在线观看| 喷水一区二区三区| 亚洲精品伦理在线| 国产三级三级三级精品8ⅰ区| 欧美三级乱人伦电影| youjizz久久| 久国产精品韩国三级视频| 亚洲乱码中文字幕| 久久久一区二区三区捆绑**| 欧美精品一二三四| 一本一道久久a久久精品| 国产麻豆成人精品| 日韩成人一级大片| 一区二区激情小说| 亚洲视频小说图片| 国产精品久线观看视频| 国产日韩欧美激情| 欧美哺乳videos| 日韩视频免费观看高清完整版在线观看| 成人黄色电影在线| 成人一区二区三区视频| 老汉av免费一区二区三区 | 亚洲最大成人综合| 中文字幕一区二区三| 国产亚洲精品免费| 久久久国产精品午夜一区ai换脸| 日韩视频在线一区二区| 日韩一区二区高清| 91精品国产综合久久精品性色| 日本韩国欧美一区二区三区| 91在线观看下载| 99这里都是精品| 色综合久久中文综合久久97| 91香蕉视频污在线| 91一区二区三区在线观看| 波波电影院一区二区三区| 国产成人免费av在线| 国产精品亚洲午夜一区二区三区| 国产在线播精品第三| 国产剧情一区在线| 国产mv日韩mv欧美| jlzzjlzz欧美大全| 色综合天天天天做夜夜夜夜做| 91丨九色丨蝌蚪丨老版| 在线免费视频一区二区| 欧美日本乱大交xxxxx| 日韩免费一区二区三区在线播放| 精品成人在线观看| 国产精品丝袜久久久久久app| 国产精品久久久久久亚洲毛片| 国产精品久久99| 亚洲伦在线观看| 五月婷婷欧美视频| 精品一区二区三区av| 成人小视频免费观看| 色综合夜色一区| 欧美一区二区三区免费视频| 国产网站一区二区| 尤物在线观看一区| 日韩精品一卡二卡三卡四卡无卡| 美女尤物国产一区| 国产成人aaaa| 欧美图区在线视频| 日韩欧美高清在线| 国产无一区二区| 中文字幕一区二区不卡| 亚洲一区二区影院| 26uuu亚洲| 亚洲三级在线免费观看| 国产日产欧美一区二区三区 | 在线观看一区不卡| 欧美一区二区日韩| 久久精品日产第一区二区三区高清版 | 久久综合九色综合欧美98| 国产精品丝袜黑色高跟| 亚洲一区国产视频| 亚洲情趣在线观看| 九九视频精品免费| 国产成人综合网站| 色婷婷精品大在线视频| 日韩一区二区在线看片| 欧美精品一区二区三区蜜臀| 中文字幕av不卡| 亚洲韩国精品一区| 国产一区二区三区黄视频| 91视频免费观看| 欧美大片顶级少妇| 日韩理论片一区二区| 日韩高清不卡一区二区三区| 蜜臀久久99精品久久久画质超高清| 国产成人av电影| 日韩一区二区影院| 中文字幕中文字幕一区二区| 蜜臀av国产精品久久久久| 成人一级黄色片| 日韩欧美一级精品久久| 亚洲欧美在线另类| 国产精品亚洲人在线观看| 91蝌蚪国产九色| 国产亚洲污的网站| 亚洲精品乱码久久久久久久久| 国产成人精品免费视频网站| 色美美综合视频| 久久精品在线观看| 久久精品国产免费| 在线影院国内精品| 亚洲欧美日韩中文播放| 国产精品综合久久| 欧美一区二区日韩一区二区| 亚洲啪啪综合av一区二区三区| 韩日欧美一区二区三区| 国产精品一区二区免费不卡 | 精品乱码亚洲一区二区不卡| 国产三级一区二区| 性做久久久久久免费观看欧美| 成人免费视频免费观看| 国产亚洲精品中文字幕| 婷婷六月综合亚洲| 91在线播放网址| 1024成人网| 99精品视频中文字幕| 久久久精品国产免费观看同学| 免费看欧美美女黄的网站| 777奇米四色成人影色区| 亚洲r级在线视频| 91丨九色丨尤物| 亚洲女厕所小便bbb| 色综合久久久久综合99| 日韩精品一级中文字幕精品视频免费观看| 欧美日韩高清一区二区三区| 中文字幕在线观看不卡| 亚洲午夜在线视频| 日本韩国一区二区| 一区二区三区日韩欧美精品| 日韩三级高清在线| 在线不卡欧美精品一区二区三区| 久久婷婷久久一区二区三区| 亚洲国产精品一区二区尤物区| 粉嫩av亚洲一区二区图片| 久久久亚洲精品一区二区三区| 天天爽夜夜爽夜夜爽精品视频| 欧美日韩亚洲综合| 亚洲电影第三页| 欧美军同video69gay| 性做久久久久久久久| 欧美视频在线播放| 午夜精品久久久久久久蜜桃app| 成人小视频在线| 麻豆国产一区二区| 国产精品区一区二区三| 欧美日韩在线电影| 国产一区激情在线| 亚洲va韩国va欧美va精品| 7777女厕盗摄久久久| 国产xxx精品视频大全| 视频一区在线播放| 欧美精品电影在线播放| 亚洲一区二区三区三| 日韩精品在线一区二区| 亚洲欧美一区二区视频| 国产在线国偷精品产拍免费yy| 91同城在线观看| 中文字幕久久午夜不卡| 99国内精品久久| 中文字幕中文字幕在线一区 | 久久不见久久见免费视频7| 91精品国产一区二区人妖| 日韩av电影免费观看高清完整版| 欧美一区二区免费| 久久精品国产99国产精品| 欧美激情一区在线| 91片黄在线观看| 午夜欧美在线一二页| 日韩欧美专区在线| 午夜精品久久一牛影视| 精品福利在线导航| 成人app软件下载大全免费| 亚洲柠檬福利资源导航| 欧美剧情电影在线观看完整版免费励志电影 | 大胆欧美人体老妇| 国产一区二区三区久久悠悠色av| 视频一区免费在线观看| 亚洲777理论| 午夜伦理一区二区| 亚洲成人av中文| 天天色综合天天| 久久99国产精品久久99 | 夜夜夜精品看看| 亚洲一级在线观看| 成人国产精品免费观看动漫| 678五月天丁香亚洲综合网| 韩国女主播一区| 亚洲黄一区二区三区| 欧美久久一二三四区| 成人app下载| 久久国产综合精品|