oracle(十)临时表

1.临时表的特点

   (1)多用户操作的独立性:对于使用同一张临时表的不同用户,oracle都会分配一个独立的 Temp Segment,这样就避免了多个用户在对同一张临时表操作时

发生交叉,从而保证了多个用户操作的并发性和独立性; 

    (2)数据的临时性:oracle根据你创建临时表时指定的参数,自动将数据truncate掉。 


2.临时表的类型

       (1)会话级(On Commit Preserve Rows)

   (2)事务级(On Commit Delete Rows )

 

3.使用场景  

  (1)存放数据分析的中间数据。 

 

  (2)对于一个电子商务类网站,不同消费者在网站上购物,就是一个独立的 session,选购商品放进购物车中,最后将购物车中的商品进行结算。

也就是说,必须在整个session期间保存购物车中的信息。同时,还存在有些消费者,往往最终结账时放弃购买商品。如果直接将消费者选购

信息存放在最终表(permanent)中,必然对最终表造成非常大的压力。 因此,对于这种情况,就可以采用创建临时表的方法来解决。

 

  (3)在用户信息表中有一列专门用来记录用户的当前登陆状态。当用户登陆系统后,该用户登陆状态的字段就改为Y,而当用户退出系统能后,

该字段的内容又改为N。若用户登陆到系统后,终端因为各种原因,如病毒、断电等发生死机的话,此时,用户虽然没有登陆到系统中去,但是,因为

其退出系统的时候,没有正常退出,信息表中显示该用户的登陆状态仍然为Y。此时,用户尝试登陆到重新登录的话,就会被系统拒绝。

  把用户登陆信息记录在一张临时性的表中,当用户结束会话,无论是正常的退出还是因为意外情况的退出,只要用户结束一个会话后,那么该临时表中的内容就会清空。

 

  

  

 

posted @ 2013-09-22 11:44  等风来。。  Views(264)  Comments(0Edit  收藏  举报
------------------------------------------------------------------------------------------------------------ --------------- 欢迎联系 x.guan.ling@gmail.com--------------- ------------------------------------------------------------------------------------------------------------