Tuesday, June 14, 2011

Index Clustering Factor Very High Wait

Visit the Below Website to access unlimited exam questions for all IT vendors and Get Oracle Certifications for FREE
http://www.free-online-exams.com

Intensive I/O wait activity on table due to a range scan carried out by an index with a bad clustering factor (mismatch between physical order of rows in table and order of ROWIDs from the index range scan leads to re-reading of table blocks).
Index Clustering Factor Very High findings

Description
What to do next
Perform the following options:
n   Examine associated statements in the Statements tab. Focus on Index Range Scan access types in the Access Types table.
n   Examine column usage for each statement in the Columns table.
Advice
Perform one of the following options:
n   Enhance filtering of the table data blocks by adding columns to the index or ensure that index only accesses top statements.
n   If no primary key exists and the index is the most used or essential index for the table, consider sorting the table data according to the index key.
The following example shows the effect that a bad clustered index can have on performance when an index is scanned:


The figure below shows an example of an index with a good clustering factor. In this example, the root is read first, followed by the first leaf page. Then the first data block that serves the first three keys matching the three rows in the data block is fetched. In this way the keys and data blocks that follow are read. The I/O operations required by this scan include five index blocks and six data blocks, which is the equivalence of 11 I/O operations.
Index with good clustering factor (low = number of table blocks)



The following figure shows an example of an index with a bad clustering factor.
The index with the bad clustering factor starts in the same way as the index with the good clustering factor. However, when the second key in the index is read, the row for the second key in the first data block has not yet been fetched, so another block must be fetched. By the time Oracle accesses the index key matching the second row in the first table block, it has already been swapped out of memory and needs to be re-read. In the worse case scenario, I/O for the table blocks will be required for every index key. The I/O operations required by this scan include five index blocks and 16 table blocks, which is equivalence of 21 I/O operations. When the difference between the number of blocks and number of rows is great, performance can be greatly impacted.
Index with bad clustering factor (high = number of rows)





       

Get Oracle Certifications for all Exams
Free Online Exams.com

No comments: