Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Global Temp Tables - lots of redo in 9i, why? how to fix?
"Howard J. Rogers" wrote:
> On Sat, 01 Mar 2003 15:57:37 +0000, DA Morgan wrote:
>
> > Van Messner wrote:
> >
> >> "Which is exactly what happens when you insert rows into any table and don't
> >> issue a commit."
> >>
> >> Global temporary tables can persist your data across a session or across a
> >> transaction - it's your choice.
> >>
>
> >
> > Which is, as I said, is no different from a normal heap table except for the
> > single line of code required to empty the table whenever you wish.
> >
> > Daniel Morgan
>
> I haven't followed this thread, so if this is inappropriate, my apologies.
> But GTT are VASTLY different from heap tables with a single line of code.
> For a start, they don't generate redo (though we've already been round the
> fact that the undo they generate itself generates redo). For another,
> since the data is private to the session, then multiple users can make
> simultaneous use of the same GTT without the need to create
> unique/individual heap tables. And lastly, since the data is private to
> the sesson, we also don't need to go through the messy business of taking
> out row-level locks to prevent conflicting updates.
>
> Transactions in GTTs are therefore much lighter in overhead resources than
> the same transactions being done in a regular heap table.
>
> Regards
> HJR
Glad you jumped in and thanks for the clarification. I agree with your points
except for one. The data is no more private than data put into any other table
before you commit the transaction. Uncommited data in a table is also private to
the session.
Daniel Morgan Received on Sat Mar 01 2003 - 18:16:23 CST