Oracle的全局临时表

 

从数据安全性来看,对表记录的操作写日志是不可避免的,否则备份恢复就无法谈起了,只是现实中我们真的有一部分应用对表的某些操作是不需要恢复的,比如运算过程中临时处理的中间结果集,这时我们就可以考虑用全局临时表来实现。

    全局临时表分为两种类型,一种是基于会话的全局临时表(Commit preserver rows),一种是基于事务的全局临时表(on commit delete rows),具体建表语法如下:

    

    

    

通过简单的比较我们即可得出结论,无论是插入更新还是删除,操作普通表产生的日志都比全局临时表要多。

全局临时表的两大重要特性,

    1.高效删除记录

        其实在我看来,全局临时表最终的特点有两个。

        一是高效删除记录,基于事务的全局临时表commit或者session连接退出后,临时表记录自动删除。基于会话的全局临时表则是session连接退出后,临时表记录自动删除,都无须我们动手去操作。

        二是针对不同会话数据独立,不同的session访问全局临时表,看到的结果不同。

这两点既是全局临时表最重要的特点,也是最有用的特点,在工作中某些特点的场合,发挥出了巨大的作用。

    首先我们看看基于事务的全局临时表commit后,记录是否被删除了,并查看产生日志的情况,如下:

        

 

 

 

 

 

 

 

 

 

转载于:https://my.oschina.net/hcy8888/blog/906865

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值