连接池临时表oracle,使用Oracle基于session的临时表要注意的问题

本文探讨了Oracle中基于session的两种临时表类型,即事务提交后删除行和保留行的临时表。在三层架构如Weblogic+Oracle中,由于session不会真正退出,基于session的临时表如果不进行清理,数据会累积。作者建议使用后应通过truncate语句及时清除,以避免数据冗余。在测试环境中,未及时清理临时表导致了问题的出现。
摘要由CSDN通过智能技术生成

在Oracle中有两种临时表,一种是基于session,就是当出现commit之后,数据就会被清空;一种是基于session,当session断开后,数据会被清空。

--基于事务的临时表

create global temporary table test

(

ID  number

)

on commit delete rows;

--基于session的临时表

create global temporary table test

(

ID  number

)

on commit preserve rows;

如果你的系统架构是三层架构,有连接池的,如  weblogic+oracle这种架构,其实session是不会退出的,只是请求完毕后,将session还给连接池。如果你操作基于session的临时表,每次操作完表后不做删除操作,那数据会累积。最好的做法是使用完以后truncate,今天在测试环境上使用系统测试发现的问题。

0b1331709591d260c1c78e86d0c51c18.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值