Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: truncate a table with many extents
Can you think of any reason to have tsq$ handled differently during a =
truncate?
Regards,
Waleed
-----Original Message-----
From: Jonathan Lewis [mailto:jonathan_at_jlcomp.demon.co.uk]
Sent: Thursday, May 06, 2004 2:29 PM
To: oracle-l_at_freelists.org
Subject: Re: truncate a table with many extents
I think this is one that probably requires testing for every platform and version of Oracle.
I've just run a quick test on 9.2.0.4 with 169 extents in an LMT Uniform sized.
The most significant difference is that the TRUNCATE updated tsq$ once per extent removed, DROP updated tsq$ once at the end. On the other hand, the DROP command triggered various other (mostly small) actions, including a call to a procedure called aw_drop_proc.
The most significant difference, though, was the handling of tsq$, and it made the truncate much more expensive in undo and redo.
Regards
Jonathan Lewis
http://www.jlcomp.demon.co.uk/faq/ind_faq.html The Co-operative Oracle Users' FAQ
http://www.jlcomp.demon.co.uk/seminar.html Optimising Oracle Seminar - schedule updated May 1st
I performed some testing on this few weeks ago. I couldn't measure the undo blocks due to implicit commits from DDLs. Redo size and redo entries were used instead. Oracle 8.1.7.4 64 bit on Solaris 8.
We decided to use LMTs with drop statements (of course, this table is accessed through a procedure so no grants issue). Surprisingly, # of recursive calls dropped from 15,110 to 307 between truncate and drop statements in case of LMT.
It would be nice to see what happens with more # of extents.. Will try that soon.
HTH
Thanks
Riyaj "Re-yas" Shamsudeen
Certified Oracle DBA
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.htmlput 'unsubscribe' in the subject line.
-----------------------------------------------------------------
----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to: oracle-l-request_at_freelists.org
![]() |
![]() |