中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle 臨時表 應用場景

發布時間:2020-04-01 23:57:07 來源:網絡 閱讀:2778 作者:lych528 欄目:關系型數據庫

ORACLE數據庫除了可以保存永久表外,還可以建立臨時表temporary tables。這些臨時表用來保存一個會話SESSION的數據,或者保存在一個事務中需要的數據。當會話退出或者用戶提交commit和回滾rollback事務的時候,臨時表的數據自動清空,但臨時表的結構以及元數據還存儲在用戶的數據字典中。

1.會話級臨時表
會話級臨時表是指臨時表中的數據只在會話生命周期之中存在,當會話結束的時候,Oracle自動清除臨時表中數據。所以這里有一個常用的知識點,就是各自會話的數據只有自己才能看到,不同的會話看到的數據自己的(不同的數據),這個知識點在優化場景下利用很多。

格式:

Create Global Temporary Table Table_Name
(xxx int ) On Commit Preserve Rows;

2.事務級臨時表
事務級臨時表是指臨時表中的數據只在事務生命周期中存在。

Create Global Temporary Table Table_Name
(xxx int )
On Commit Delete Rows;

當一個事務結束(commit or rollback),Oracle自動清除臨時表中數據。同樣的事務級臨時表的數據在各會話之間也是獨立的

業務優化最常見的情景如下:

1 用戶在特定時間批量沖刷數據入庫
2 數據庫后臺通過一個中轉表(XXX)先對用戶數據落地
3 依據各種邏輯,把XXX表的數據insert into 各種業務表

問題1:很多開發人員把XXX設計成普通表,而開發者理念又認為這其實只是一個中轉臨時表,索引的設計自然很多人也忽略了。

問題2 : 這個XXX通過多用戶刷數據進來,涉及的數據量應該很大,如果設計成普通表,肯定適當地對一些處理過的數據要進行delete,這樣明顯又影響了業務效率。

利用臨時表的特性就可大量提升此業務的性能問題。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

墨江| 遂宁市| 阳朔县| 柘荣县| 望奎县| 霍城县| 石门县| 林西县| 宜良县| 二连浩特市| 蒙山县| 东乌| 山东省| 施秉县| 馆陶县| 红原县| 台南县| 运城市| 利津县| 海伦市| 五家渠市| 湘阴县| 永吉县| 赤水市| 崇左市| 金门县| 油尖旺区| 澄城县| 湘潭县| 抚宁县| 潞西市| 平果县| 读书| 顺昌县| 定日县| 松江区| 灵璧县| 香河县| 宜昌市| 突泉县| 辽中县|