Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: PL/SQL table next function, Oracle 7 vs Oracle 8
A copy of this was sent to fthes_at_sr.hp.com (Francis Small)
(if that email address didn't require changing)
On 7 May 1999 23:42:32 GMT, you wrote:
>I seem to have found the source of my problem, and can re-create it
>using the script below:
>
this is bug 677883.
its fixed in 8.0.6 and 8.1.5. I verified it on 8.1.5 -- it runs as it did in 7.x on that release.
>declare
> type debug_tabtype is table of number
> index by binary_integer;
> debug_tab debug_tabtype;
> rec_id integer;
>begin
> debug_tab(1) := 1;
> debug_tab(&1) := 1;
> rec_id := debug_tab.first;
> while rec_id is not null
> loop
> dbms_output.put_line(rec_id);
> debug_tab.delete(rec_id);
> rec_id := debug_tab.next(rec_id);
> end loop;
>end;
>/
>
>This creates a table at index 1 and &1 (call it N). It goes to the first
>entry, deletes it, then executes the next function. On Oracle 8, the wait
>is proportional to the value of N. For a value of 10 million, the wait
>was about 10 seconds. In my application, 'N' can be about 1 billion,
>corresponding to a wait of 16 minutes. On Oracle 7, the delay is
>apparently instantaneous for a value of 1 billion for N. Is this some
>sort of "enhancement" for Oracle 8???
>
> Francis
See http://www.oracle.com/ideveloper/ for my column 'Digging-in to Oracle8i'...
Thomas Kyte
tkyte_at_us.oracle.com
Oracle Service Industries
Reston, VA USA
--
Opinions are mine and do not necessarily reflect those of Oracle Corporation
Received on Sat May 08 1999 - 10:54:25 CDT