Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Update of Clobs *Performance*

RE: Update of Clobs *Performance*

From: Powell, Mark D <mark.powell_at_eds.com>
Date: Wed, 3 Nov 2004 15:01:24 -0500
Message-ID: <564DE4477544D411AD2C00508BDF0B6A2133DF7A@usahm018.exmi01.exch.eds.com>


Mike, how big is table B? And is there only one table B row per v_id?

If table B is large and there is only one or very few matching rows for a v_id value then conversion of v_id into a char pl/sql variable and adding an index on tabB_num (or function based index to_char(tabB_num) if you want to use a numeric v_id) would at least eliminate the time spent full scanning B each and every time it is updated for A.

HTH -- Mark D Powell --

-----Original Message-----

From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org]On Behalf Of Mike Schmitt Sent: Wednesday, November 03, 2004 2:29 PM To: oracle-l_at_freelists.org
Subject: Update of Clobs *Performance*

Hi all,

I have a developer who is trying to use PL/SQL to update all of the CLOBS of a specific table (nightly basis). I am looking for advice on how to speed up the performance for this process. SQL tracing the process shows the following before I cancel out.

call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ----------

Thanks

Table_A (141,000 rows, no indexes)
tabA_char VARCHAR2(10)
tabA_clob CLOB

Table_B (145,000 rows, no indexes)
tabB_num number
tabB_clob CLOB

Procedure
declare
v_clob varchar2(32500);
v_id varchar(10);

cursor cont_rep_clob is
select tabA_char, tabA_clob
from Table_A;

begin
open cont_rep_clob;
loop
fetch cont_rep_clob into v_id, v_clob;

exit when cont_rep_clob%NOTFOUND;

update Table_B
set tabB_clob = v_clob
where to_char(tabB_num) = v_id;

commit;

end loop;
close cont_rep_clob;

--

http://www.freelists.org/webpage/oracle-l
--

http://www.freelists.org/webpage/oracle-l Received on Wed Nov 03 2004 - 13:58:01 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US