index fragmentation

Post on 18-Nov-2015

5 Views

Category:

Documents

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

Index fragmentation, sql commands for how to do index fragmentation

TRANSCRIPT

Index Fragmentation / Rebuild First analyze indexSQL>analyze index INDEX_NAME validate structure;Then query INDEX_STATS view1. If del_lf_rows/lf_rows is > .2 then index should be rebuild.2. If height is 4 then index should be rebuild.3. If lf_rows is lower than lf_blks then index should be rebuild.SQL> column status format a10SQL> select trunc((del_lf_rows/lf_rows)*100,2)'%' "status" from index_stats;status----------21.83%How to remove index fragmentation?There are two way to remove fragmentation.1. index coalesce2. index rebuildWhat is difference between coalesce and rebuild please go through below link for more detailshttp://download.oracle.com/docs/cd/B14117_01/server.101/b10739/indexes.htm#g1007548SQL> alter index IDX_OBJ_ID coalesce;SQL> alter index IDX_OBJ_ID rebuild;SQL> alter index IDX_OBJ_ID rebuild online;

Note: If any DML statement is running on base table then we have to use ONLINE keyword with index rebuilding.

SQL> analyze index idx_obj_id validate structure;Index analyzed

.SQL> select trunc((del_lf_rows/lf_rows)*100,2)'%' "status" from index_stats;Status40.85%

SQL> alter index IDX_OBJ_ID rebuild online;Index altered.

SQL> analyze index idx_obj_id validate structure;Index analyzed.SQL> select trunc((del_lf_rows/lf_rows)*100,2)'%' "status" from index_stats;Status0%Note: Index rebuild when index is fragmented or it is needed, otherwise index rebuilding is myth for improve performance.

top related