update large table
I have a big table like 40 million rows....I want to update it as fast as I could
without using redologs (logging) or rollback or temp etc. Is this possible?
Does this command help?
update table EMP nologging parallel 8 set fullname=upper(trim(fullname));
thanks a lot
no you cannot do that hope you reliase how dangerous it is too even if you could
pls tell me dear why....
I suggest you to read oracle concepts manual
tri writing a procedure to do that.it realy decrease the time used to do an update on such a large table.
It realy works for me on a table with over 32 mil rows.
However , it will take a lot of time(and resource) if you use the 'clasy' way !
So, to summarize the thread,
Originally Posted by davey23uk
You need to increase the INITRANS value for the index.
create index t1_idx on t1(object_name)
pctfree 30 initrans 9
tablespace large_01_idx nologging parallel 8
11:10:32 SQL> alter session enable parallel dml;
11:10:40 SQL> alter session force parallel dml parallel 8 ;
11:11:25 SQL> update /*+ full(t1) parallel(t1,8) */ t1
11:11:34 2 set object_name = lower(object_name);
1855968 rows updated.
Its working fine now. Thanks a lot
So whats the danger plsssssssssssssss
Originally Posted by Bore
Why is TAMIL doing it
why is a procedure quicker than a simple sql statement
Click Here to Expand Forum to Full Width