oracle 临时表 应用场景
admin
2023-04-22 00:01:33
0

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,这样明显又影响了业务效率。

利用临时表的特性就可大量提升此业务的性能问题。

相关内容

热门资讯

终于懂了“道游联盟牛牛有挂吗?... 家人们!今天小编来为大家解答道游联盟牛牛透视挂怎么安装这个问题咨询软件客服徽9752949的挂在哪里...
最新引进“新版悟空炸/金/花怎... 网上科普关于“新版悟空炸/金/花有没有挂”话题很是火热,小编也是针对新版悟空炸/金/花作*弊开挂的方...
重磅消息“新蓝鲸拼三张可以开挂... 有 亲,根据资深记者爆料新蓝鲸拼三张是可以开挂的,确实有挂(咨询软件无需...
今日重大消息“决战血流麻将是不... 您好:决战血流麻将这款游戏可以开挂,确实是有挂的,需要了解加客服微信【9784099】很多玩家在这款...
玩家最新攻略“免安装麻将机干扰... 玩家最新攻略“免安装麻将机干扰器怎么装挂?”(原来真的有挂)您好,免安装麻将机干扰器这个游戏其实有挂...
今日重磅消息“神皇大厅是不是有... 网上科普关于“神皇大厅有没有挂”话题很是火热,小编也是针对神皇大厅作*弊开挂的方法以及开挂对应的知识...
“在重建民族认同的乌克兰,有人... 【文/观察者网专栏作者 安东·尼尔曼,翻译/ 薛凯桓】2025年即将结束,在东正教世界的传统时间观中...
终于懂了“宁波游戏大厅开挂器?... 您好:宁波游戏大厅这款游戏可以开挂,确实是有挂的,需要了解加客服微信【4282891】很多玩家在这款...
玩家分享攻略“蛮籽麻将重庆开挂... 家人们!今天小编来为大家解答蛮籽麻将重庆透视挂怎么安装这个问题咨询软件客服徽9784099的挂在哪里...
空中丝路新标杆 内陆开放强引擎... “空铁公水”多式联运体系高效协同,货物下了飞机即可坐上高铁送达全国各地。郑卢“双枢纽”合作持续深化,...