最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Oracle關于重建索引爭論的總結(jié)

 更新時間:2014年09月16日 10:19:00   投稿:junjie  
這篇文章主要介紹了Oracle關于重建索引爭論的總結(jié),本文總結(jié)了重建索引的理由、重建索引的本質(zhì)、反對重建索引的理由等內(nèi)容,需要的朋友可以參考下

索引重建是一個爭論不休被不斷熱烈討論的議題。當然Oracle官方也有自己的觀點,我們很多DBA也是遵循這一準則來重建索引,那就是Oracle建議對于索引深度超過4級以及已刪除的索引條目至少占有現(xiàn)有索引條目總數(shù)的20% 這2種情形下需要重建索引。近來Oracle也提出了一些與之相反的觀點,就是強烈建議不要定期重建索引。本文是參考了1525787.1并進行相應描述。

1、重建索引的理由

    a、Oracle的B樹索引隨著時間的推移變得不平衡(誤解)
    b、索引碎片在不斷增加
    c、索引不斷增加,刪除的空間沒有重復使用
    d、索引 clustering factor (集群因子)不同步,可以通過重建修復(誤解)

2、重建索引的本質(zhì)

   本質(zhì):重建索引在數(shù)據(jù)庫內(nèi)部是先執(zhí)行刪除操作,再執(zhí)行插入操作。

3、反對重建索引的理由
    
 a. 大多數(shù)腳本都依賴 index_stats 動態(tài)表。此表使用以下命令填充:
        analyze index ... validate structure;
       盡管這是一種有效的索引檢查方法,但是它在分析索引時會獲取獨占表鎖。對于大型索引,其影響會是巨大的,因為在此期間不允許對表執(zhí)行DML 操作。
       雖然該方法可以在不鎖表的情況下在線運行,但是可能要消耗額外的時間。
    b. 重建索引的直接結(jié)果是 REDO 活動可能會增加,總體系統(tǒng)負載也可能會提高。
       插入/更新/刪除操作會導致索引隨著索引的分割和增長不斷發(fā)展。
       重建索引后,它將連接的更為緊湊;但是,隨著對表不斷執(zhí)行 DML 操作,必須再次分割索引,直到索引達到平衡為止。
       結(jié)果,重做活動增加,且索引分割更有可能對性能產(chǎn)生直接影響,因為我們需要將更多的 I/O、CPU 等用于索引重建。
       經(jīng)過一段時間后,索引可能會再次遇到“問題”,因此可能會再被標記為重建,從而陷入惡性循環(huán)。
       因此,通常最好是讓索引處于自然平衡和(或)至少要防止定期重建索引。

4、Oracle的最終建議

    一般而言,極少需要重建 B 樹索引,基本原因是 B 樹索引很大程度上可以自我管理或自我平衡。
    大多數(shù)索引都能保持平衡和完整,因為空閑的葉條目可以重復使用。
    插入/更新和刪除操作確實會導致索引塊周圍的可用空間形成碎片,但是一般來說這些碎片都會被正確的重用。
    Clustering factor群集因子反映了給定的索引鍵值所對應的表中的數(shù)據(jù)排序情況。重建索引不會對群集因子產(chǎn)生影響,集群因子只能通過重組表的數(shù)據(jù)改變。
    強烈建議不要定期重建索引,而應使用合適的診斷工具。
    個人結(jié)論,如果重建索引的巨大工作量與之對應的是極小的收益,那就得不償失。如果系統(tǒng)有可用空閑期,重建之前和之后的測量結(jié)果表明性能有提高,值得重建。

5、改良方法

    通常是優(yōu)先考慮index coalesce(索引合并),而不是重建索引。索引合并有如下優(yōu)點:
       a、不需要占用近磁盤存儲空間 2 倍的空間
       b、可以在線操作
       c、無需重建索引結(jié)構(gòu),而是盡快地合并索引葉塊,這樣可避免系統(tǒng)開銷過大。

6、真正需要重建索引的情形

    索引或索引分區(qū)因介質(zhì)故障損壞
    標記為UNUSABEL的索引需要重建
    索引移動到新的表空間或需要改變某些存儲參數(shù)
    通過SQL*Loader加載數(shù)據(jù)到表分區(qū)后,需要重建索引分區(qū)
    重建索引以啟用鍵壓縮
    位圖索引本質(zhì)不同于B樹索引,建議重建

相關文章

  • Oracle如何查詢表索引和索引字段

    Oracle如何查詢表索引和索引字段

    這篇文章主要介紹了Oracle如何查詢表索引和索引字段問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-07-07
  • Oracle壓縮表空間的基本步驟

    Oracle壓縮表空間的基本步驟

    這篇文章主要介紹了Oracle怎么壓縮表空間,壓縮表空間可能需要一些時間,具體取決于表空間的大小和數(shù)據(jù)庫的負載,因此,在執(zhí)行此操作之前,請確保已備份數(shù)據(jù)庫以防萬一,需要的朋友可以參考下
    2023-06-06
  • Oracle SQL性能優(yōu)化系列學習一

    Oracle SQL性能優(yōu)化系列學習一

    Oracle SQL性能優(yōu)化系列學習一...
    2007-03-03
  • oracle中not exists對外層查詢的影響詳解

    oracle中not exists對外層查詢的影響詳解

    這篇文章主要給大家介紹了關于oracle中not exists對外層查詢的影響,文中介紹的非常詳細,需要的朋友可以參考下。
    2017-02-02
  • Oracle在DML語句中使用returing?into子句

    Oracle在DML語句中使用returing?into子句

    這篇文章介紹了Oracle在DML語句中使用returing?into子句的方法,文中通過示例代碼介紹的非常詳細。對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-05-05
  • Oracle 實現(xiàn) 一個關鍵字 匹配多個 字段的方法

    Oracle 實現(xiàn) 一個關鍵字 匹配多個 字段的方法

    這篇文章主要介紹了Oracle 實現(xiàn) 一個關鍵字 匹配多個 字段的方法,本文給大家提供兩個方案,非常不錯,具有一定的參考借鑒價值 ,需要的朋友可以參考下
    2019-05-05
  • Oracle中如何把表和索引放在不同的表空間里

    Oracle中如何把表和索引放在不同的表空間里

    Oracle中并沒有區(qū)分表空間里放的是表還是索引,所有當數(shù)據(jù)量比較小時,完全可以把表和索引放在同一個表空間里,但隨著數(shù)據(jù)量的增大,最好還是把表和索引分開存儲在不同的表空間里
    2013-07-07
  • Oracle 11G密碼180天過期后的修改方法

    Oracle 11G密碼180天過期后的修改方法

    在Oracle 11G 創(chuàng)建用戶時缺省密碼過期限制是180天, 如果超過180天用戶密碼未做修改則該用戶無法登錄,下面與大家分享下修改方法
    2014-07-07
  • oracle中decode函數(shù)的使用方法示例

    oracle中decode函數(shù)的使用方法示例

    這篇文章主要介紹了oracle中decode函數(shù)的使用方法示例,還是比較不錯的,這里分享給大家,供需要的朋友參考。
    2017-11-11
  • 在Oracle實例關閉時如何修改spfile的參數(shù)詳解

    在Oracle實例關閉時如何修改spfile的參數(shù)詳解

    這篇文章主要給大家介紹了關于在Oracle實例關閉時如何修改spfile參數(shù)的相關資料,文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面跟著小編來一起學習學習吧。
    2017-07-07

最新評論

靖边县| 镇宁| 三门峡市| 云霄县| 韶山市| 吴桥县| 吉木乃县| 汉川市| 涟水县| 安徽省| 剑河县| 西贡区| 涡阳县| 水城县| 左云县| 常宁市| 雅江县| 额济纳旗| 新郑市| 大新县| 兴业县| 芮城县| 亚东县| 内江市| 沂源县| 集贤县| 运城市| 马关县| 阳新县| 彰武县| 小金县| 邵东县| 崇礼县| 城口县| 桐庐县| 楚雄市| 盐城市| 井研县| 卢湾区| 双桥区| 金昌市|