Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE : Sql Loader - Rejects processing takes long - 2 time
Surjit,
Primary key violations take a long time to process because they are detected when the primary key index is inserted, which is AFTER the row has been inserted (since one must know the rowid to store it into the index). Which means that a lot of things need to be undone when ooooops !, contrarily to what might occur when trying to insert a NULL in a mandatory column or similar. Moreover, I have been told by Jonathan Lewis that, at least with some versions of Oracle, displaying the error message (which contains the constraint name) requires additional accesses to the data dictionary, as this kind of information doesn't belong to what is usually cached in SGA. Add up everything ...
-- Regards, Stephane Faroult email: sfaroult_at_oriolecorp.com Oriole Corporation Voice: +44 (0) 7050-696-269 Fax: +44 (0) 7050-696-449 Performance Tools & Free Scripts ------------------------------------------------------------------ http://www.oriolecorp.com, designed by Oracle DBAs for Oracle DBAs ------------------------------------------------------------------Received on Mon Sep 04 2000 - 07:44:05 CDT
>
> Hi all
>
> I conducted the following test using SQL Loader (8.1.5) conventional path
> method.
>
> 1) A load of 103389 records took 2:57.32 mins to load and consumed 5.45
> secs
> CPU
>
> 2) The same load with 10% primary key errors took 17:28.31 mins to load and
> consumed 49.73 secs CPU.
>
> The load with the rejects takes about 9-10 times more time!!! Any ideas as
> to what is happening. Why is Oracle taking so long for reject processing.
>
>
> Your comments are highly appreciated.
![]() |
![]() |