Decode360's Blog

          業(yè)精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
            302 隨筆 :: 26 文章 :: 82 評論 :: 0 Trackbacks
          三、更改索引
          ?
          ??? 可以使用ALTER INDEX語句進(jìn)行的操作有
          ?
          ??? ● 重建或合并現(xiàn)存索引
          ??? ● 回收未使用的空間或分配新盤區(qū)
          ??? ● 指定/取消并行執(zhí)行和更改并行度
          ??? ● 更改存儲參數(shù)或物理屬性
          ??? ● 指定LOGGING或NOLOGGING
          ??? ● 啟動或停用鍵壓縮
          ??? ● 將索引標(biāo)記成不可用
          ??? ● 開始或停止對索引使用的監(jiān)視
          ?
          ??? 注:不能更改索引的列結(jié)構(gòu)
          ?
          1、更改索引存儲特性
          ?
          ??? ALTER INDEX emp_ename
          ??? STORAGE (PCTINCREASE 50);
          ?
          ??? 使用ENABLE子句的USING INDEX子句來修改約束相關(guān)的索引
          ?
          ??? ALTER TABLE emp
          ??? ENABLE PRIMARY KEY SUING INDEX
          ??? PCTFREE 5;
          ?
          2、重建現(xiàn)存索引
          ?
          ??? ALTER INDEX emp_name REBUILD;
          ??? ALTER INDEX emp_name REBUILD ONLINE;
          ?
          ??? 注:如果沒有重建索引的空間,可以用合并索引代替,也可以聯(lián)機(jī)。
          ?
          3、監(jiān)視索引使用
          ?
          ??? ALTER INDEX index MONITORING USAGE;
          ??? ALTER INDEX index NOMONITORING USAGE;
          ?
          ??? 可查詢視圖 V$OBJECT_USAGE來查詢正在被監(jiān)視的索引。MONITORING列標(biāo)明監(jiān)視是否被激活,USED標(biāo)明是否被使用
          ?
          ??? 每次指定MONITORING USAGE時,V$OBJECT_USAGE都會被針對指定的索引進(jìn)行重新設(shè)置,以前的使用信息被清除或重新設(shè)置,新的開始時間被記錄下來。當(dāng)指定NOMONITORING USAGE,而又不執(zhí)行進(jìn)一步的監(jiān)視時,則結(jié)束時間被記錄下,知道下一次發(fā)布MONITORING USAGE語句之前,該視圖信息均保持不變。
          ?
          ?
          四、監(jiān)視索引的空間使用
          ?
          ??? 如果索引所在鍵值進(jìn)場被INSERT、UPDATE、DELETE,那么隨著時間的推移會失去空間效率,此時需要查詢空間使用效率。
          ?
          ??? ANALYZE INDEX index_name CALIDATE STRUCTURE;
          ??? SELECT PCT_USED FROM INDEX_STATS WHERE NAME = 'index_name';
          ?
          ??? 注:可以重復(fù)檢查、刪除、重建某索引,來檢測其空間使用的平均效率。 當(dāng)某一索引的空間使用效率降到其平均值之下,就可以用過刪除并重建索引來精簡空間。
          ?
          ?
          五、刪除索引
          ?
          ??? 刪除索引一般是因為以下原因:
          ?
          ??? ● 不再需要該索引
          ??? ● 該索引沒有達(dá)到預(yù)期的性能改善
          ??? ● 沒有用到該索引
          ??? ● 索引已無效,必須在重建前刪除
          ??? ● 所以已太碎,必須在重建前刪除
          ?
          ??? 可以使用以下語句來刪除索引:
          ?
          ??? DROP INDEX emp_ename;
          ?
          ??? 注:不能刪除與UNIQUE KEY或PRIMARY KEY相關(guān)的索引,必須刪除整個約束才可以刪除該索引。
          ?
          ?
          六、查看索引信息
          ?
          ??? DBA|ALL|USER_INDEXES:所有表上的所有索引,其中的某些列包含DBMS_STATS包或ANALYZE語句產(chǎn)生的統(tǒng)計數(shù)據(jù)。
          ??? DBA|ALL|USER_IND_COLUMNS:描述表上的索引的列,其中的某些列包含DBMS_STATS包或ANALYZE語句產(chǎn)生的統(tǒng)計數(shù)據(jù)。
          ??? DBA|ALL|USER_IND_EXPRESSIONS:描述表上的基于函數(shù)的索引表達(dá)式
          ??? INDEX_STATS:ANALYZE所產(chǎn)生的信息
          ??? INDEX_HISTOGRAM:ANALYZE所產(chǎn)生的信息
          ??? V$OBJECT_USAGE:MONITORING USAGE語句所產(chǎn)生的信息
          ?
          ?
          ?
          ?




          -The End-

          posted on 2009-02-14 20:55 decode360-3 閱讀(218) 評論(0)  編輯  收藏 所屬分類: DBA
          主站蜘蛛池模板: 吉木萨尔县| 西乌珠穆沁旗| 白山市| 铜梁县| 荥阳市| 奉贤区| 玉田县| 若尔盖县| 都江堰市| 华蓥市| 伊川县| 乐山市| 宝清县| 萍乡市| 玉山县| 溧水县| 永新县| 永丰县| 长海县| 鄂尔多斯市| 红安县| 名山县| 乐陵市| 怀仁县| 健康| 西安市| 镇雄县| 龙南县| 华池县| 铜山县| 蓝田县| 德安县| 楚雄市| 苏尼特左旗| 合阳县| 台中市| 淮安市| 乳山市| 泸溪县| 锦屏县| 体育|