|
Oracle Coalesce Vs Index
Rebuild
Queries:
What is the difference between rebuild and coalesce and UPDATE BLOCK
REFERENCES in INDEX.
What are the process happening?
alter index supplier_pk rebuild;
alter index supplier_pk coalesce;
ALTER INDEX supplier_pk UPDATE BLOCK REFERENCES;
Answer:
REBUILD statement is used to reorganize or compact an existing
index or to change its storage characteristics. The REBUILD statement uses
the existing index as the source for the new index. As a result, the index
will consume twice as much space during the rebuild process.
COALESCE statement instructs Oracle to merge the contents of
index blocks where possible to free blocks for reuse. The index structure
itself is not affected.
Rebuild takes exclusive table locks, whereas a coalesce is a purely
online operation.
The rebuild causes a completely new index segment to be constructed
from scratch.
Coalesce simply shuffles index entries around within the existing index
segment.
The practical significance of that difference is that a rebuild requires
potentially two lots of space for it to work.
Coalesce requires little or no extra space.
Coalesce leaves the overall size of your index unchanged.
It will shuffle index entries around between nodes so that everything
gets compacted, but the index structure will not change in overall size:
therefore, you will end up with empty blocks included in the finished structure.
They can be reused by new insertions and updates, of course, but still
if your aim is to actually reduce the size of your index, the coalesce
won't achieve it.
Note:
The "update block references" clause applies to the secondary indexes
on an index organized table (IOT). SUch indexes have a "block guess" as
part of the key structure to allow Oracle to jump directly to the block
in the IOT were the required row was when the secondary index was created.
But since an IOT is an index structure, leaf block splits can occur
in the IOT as new data arrives, and rows will gradually move to different
blocks. The "update block references" clause tells Oracle to bring the
block guesses in the secondary index up to date.
Have a Oracle Question
Do you have
an Oracle Question?
Oracle Books
Oracle
Certification, Database Administration, SQL, Application, Programming Reference
Books
Oracle Application
Oracle
Application Hints and Tips
Oracle Home
Oracle
Database, SQL, Application, Programming Tips
All the site contents are Copyright © www.erpgreat.com
and the content authors. All rights reserved.
All product names are trademarks of their respective
companies.
The site www.erpgreat.com is not affiliated with or endorsed
by any company listed at this site.
Every effort is made to ensure the content integrity.
Information used on this site is at your own risk.
The content on this site may not be reproduced
or redistributed without the express written permission of
www.erpgreat.com or the content authors.
|