Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: performance pl/sql for DW
How big is your shared pool and you block buffers?
> -----Original Message-----
> From: Daniel Garant [mailto:danielg_at_conceptis.com]
> Sent: Monday, July 30, 2001 2:31 PM
> To: Multiple recipients of list ORACLE-L
> Subject: performance pl/sql for DW
>
>
> Hi
>
> We are in the process of loading our DW. The raw data is
> located in the
> same database as the DW. We wrote a PL/SQL package that goes
> thru the raw
> data table and convert it into the fact table. The process
> is not really
> complex, but cannot be done in one insert statement.
>
> Now, the first test I did with only 2500 rows to convert (we have 13
> millions in the real table) took 45 minutes!!! The CPU on
> the NT server is
> averaging 95% and I am alone on the server.
>
> The package looks roughly like this
>
> Package
> procedure process_col1;
> ...
> procedure process_colxxx
> ...
> main procedure
> for each row in raw table
> execute process_col1;
> execute process_colxxx;
> if ok
> insert into fact table
> next row
>
> Nothing fancy here. After searching on metalink, I found out
> that the call
> of a procedure is expensive in cpu. I removed all the
> procedures and move
> them in the main one. That did not help at all. I used the
> nocopy for the
> OUT and IN OUT parameters, but still no noticeable
> improvement. I have no
> indexes on my fact table (I will put them later) and all the
> FK constraints
> are disable.
>
> Am i asking too much from PL/SQL here? What is the best approach for
> loading the data in my fact table? Any pitfall I should be
> aware of that
> can cause my process to be so slow? I have a bunch of these procedure
> extracting sub-string for a big one (spliting the URL field
> into site, port
> and path fields). Is that something that PL/SQL is not good at?
>
> TIA
> Daniel
>
> --
> Please see the official ORACLE-L FAQ: http://www.orafaq.com
> --
> Author: Daniel Garant
> INET: danielg_at_conceptis.com
>
> Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051
> San Diego, California -- Public Internet access / Mailing Lists
> --------------------------------------------------------------------
> To REMOVE yourself from this mailing list, send an E-Mail message
> to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in
> the message BODY, include a line containing: UNSUB ORACLE-L
> (or the name of mailing list you want to be removed from). You may
> also send the HELP command for other information (like subscribing).
>
-- Please see the official ORACLE-L FAQ: http://www.orafaq.com -- Author: Page, Bruce INET: Bruce.Page_at_BellSouth.com Fat City Network Services -- (858) 538-5051 FAX: (858) 538-5051 San Diego, California -- Public Internet access / Mailing Lists -------------------------------------------------------------------- To REMOVE yourself from this mailing list, send an E-Mail message to: ListGuru_at_fatcity.com (note EXACT spelling of 'ListGuru') and in the message BODY, include a line containing: UNSUB ORACLE-L (or the name of mailing list you want to be removed from). You may also send the HELP command for other information (like subscribing).Received on Mon Jul 30 2001 - 13:08:54 CDT
![]() |
![]() |