Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: cursors - where is the data stored
"Tom Best" <tabest_at_bellatlantic.dontspamme.net> wrote:
>Vik:
>
>Oracle does not make a snapshot of the result set. At cursor
open time, it
>parses it and determines the path it will use to satisfy it.
As you fetch,
>it either retrieves the next row from the data block buffer
cache or reads
>it from disk into the cache. You can read arrays of these at a
time, also.
>But there is no snapshot of the result set made. If a row has
been changed
>by another session between the time your session opens its
cursor and the
>time your session gets to fetching that row of the result set,
Oracle
>recognizes that and reads it, instead, from the rollback
segment.
>
>HTH,
>Tom Best
>
>Vik <viklall_at_my-deja.com> wrote in message
>news:8ll57s$cr6$1_at_nnrp1.deja.com...
>>
>>
>> If I create a cursor I beleive that is a snapshot of the
>> data, where is the data stored, is it stored in the user's
>> temp tablespace or is it stored in the system TEMP or is
>> it stored in SYSTEM?
>>
Actually I believe Oracle does place the result set in OS
memory. It is possible for the results of a query operation to
produce more output than will fit in the buffer pool and since
Oracle joins tables two at a time the result of the first join
operation must be held so that it can be compared to the next
join operation. Where is this data held if not in memory?
Got questions? Get answers over the phone at Keen.com.
Up to 100 minutes free!
http://www.keen.com
Received on Wed Jul 26 2000 - 00:00:00 CDT