From: kyle hailey <oraperf@yahoo.com>
Newsgroups: comp.databases.oracle.server
Subject: Re: Temp table question
Date: Sat, 03 Mar 2001 05:05:23 -0800
Organization: Posted via Supernews, http://www.supernews.com
Message-ID: <i7p1at8lcsmnhu4aip14lfjreh5nfmb6md@4ax.com>
References: <983492427.437049@news.zipcon.net> <cbCn6.2835$Hg.222549@monger.newsread.com> <fIQn6.3719$7e6.1469643@homer.alpha.net> <upi1atkjp6brv9bf653mbgbv51ipcelvm1@4ax.com> <3aa02c59@news.iprimus.com.au>
X-Newsreader: Forte Agent 1.8/32.548 trialware
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
X-Complaints-To: newsabuse@supernews.com
Lines: 34


On Sat, 3 Mar 2001 10:27:48 +1100, "Howard J. Rogers"
<howardjr@www.com> wrote:


>And global temporary tables are private to the session that populated
>them -and a good thing too.  One of their main benefits is that run like
>greased lightening, and they do that by not having any DML locking
>mechanisms.  You can only forego record locks and the like when you can
>absolutely guarantee that no other user is going to start raising
>transactions that conflict or compete with your own... and *that* can only
>be guaranteed if the data is strictly private to your session.
>
>Regards
>HJR

Efficient multi access temporary tables could be implemented fairly
easily in several ways. If the data was kept in the SGA instead of
process space that would allow efficient and shareable access. There
would be some latching involved of course but latches are light
weight. With the data in the SGA one could allow other users to see
the data but not change it. Alternatively the first  session could
release a temporary table which could be then obtained by another
session to be manipulated. 

Oracle has done much more complicated things in a similiar vein with
MTS and transaction processing. 

Best
Kyle Hailey






