<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 39  文章 - 1  trackbacks - 0

      重建索引有兩種方法:一種是最簡(jiǎn)單的,刪除原索引,然后重建;第二種是使用ALTER INDEX … REBUILD   it培訓(xùn)機(jī)構(gòu)

      命令對(duì)索引進(jìn)行重建。第二種方式是從oracle 7.3.3版本開始引入的,從而使得用戶在重建索引時(shí)不必刪除原索引再重新CREATE INDEX了。ALTER INDEX … REBUILD相對(duì)CREATE INDEX有以下好處:

      它使用原索引的葉子節(jié)點(diǎn)作為新索引的數(shù)據(jù)來源。我們知道,原索引的葉子節(jié)點(diǎn)的數(shù)據(jù)塊通常都要比表里的數(shù)據(jù)塊要少很多,因此進(jìn)行的I/O就會(huì)減少;同時(shí),由于原索引的葉子節(jié)點(diǎn)里的索引條目已經(jīng)排序了,因此在重建索引的過程中,所做的排序工作也要少的多。

      自從oracle 8.1.6以來,ALTER INDEX … REBUILD命令可以添加ONLINE短語。這使得在重建索引的過程中,用戶可以繼續(xù)對(duì)原來的索引進(jìn)行修改,也就是說可以繼續(xù)對(duì)表進(jìn)行DML操作。

      而同時(shí),ALTER INDEX … REBUILD與CREATE INDEX也有很多相同之處:

      它們都可以通過添加PARALLEL提示進(jìn)行并行處理。

      它們都可以通過添加NOLOGGING短語,使得重建索引的過程中產(chǎn)生最少的重做條目(redo entry)。

      自從oracle 8.1.5以來,它們都可以田間COMPUTE STATISTICS短語,從而在重建索引的過程中,就生成CBO所需要的統(tǒng)計(jì)信息,這樣就避免了索引創(chuàng)建完畢以后再次運(yùn)行analyze或dbms_stats來收集統(tǒng)計(jì)信息。

      當(dāng)我們重建索引以后,在物理上所能獲得的好處就是能夠減少索引所占的空間大小(特別是能夠減少葉子

      節(jié)點(diǎn)的數(shù)量)。而索引大小減小以后,又能帶來以下若干好處:

      CBO對(duì)于索引的使用可能會(huì)產(chǎn)生一個(gè)較小的成本值,從而在執(zhí)行計(jì)劃中選擇使用索引。

      使用索引掃描的查詢掃描的物理索引塊會(huì)減少,從而提高效率。

      由于需要緩存的索引塊減少了,從而讓出了內(nèi)存以供其他組件使用。

      盡管重建索引具有一定的好處,但是盲目的認(rèn)為重建索引能夠解決很多問題也是不正確的。比如我見過一

      個(gè)生產(chǎn)系統(tǒng),每隔一個(gè)月就要重建所有的索引(而且我相信,很多生產(chǎn)系統(tǒng)可能都會(huì)這么做),其中包括一些100GB的大表。為了完成重建所有的索引,往往需要把這些工作分散到多個(gè)晚上進(jìn)行。事實(shí)上,這是一個(gè)7×24的系統(tǒng),僅重建索引一項(xiàng)任務(wù)就消耗了非常多的系統(tǒng)資源。但是每隔一段時(shí)間就重建索引有意義嗎?這里就有一些關(guān)于重建索引的很流行的說法,主要包括:

      如果索引的層級(jí)超過X(X通常是3)級(jí)以后需要通過重建索引來降低其級(jí)別。

      如果經(jīng)常刪除索引鍵值,則需要定時(shí)重建索引來收回這些被刪除的空間。

      如果索引的clustering_factor很高,則需要重建索引來降低該值。

      定期重建索引能夠提高性能。

      對(duì)于第一點(diǎn)來說,我們?cè)谇懊嬉呀?jīng)知道,B樹索引是一棵在高度上平衡的樹,所以重建索引基本不可能降

      低其級(jí)別,除非是極特殊的情況導(dǎo)致該索引有非常大量的碎片,導(dǎo)致B樹索引“虛高”,那么這實(shí)際又來到第二點(diǎn)上(因?yàn)樗槠ǔ6际怯捎趧h除引起的)。實(shí)際上,對(duì)于第一和第二點(diǎn),我們應(yīng)該通過運(yùn)行ALTER INDEX … REBUILD命令以后檢查indest_stats.pct_used字段來判斷是否有必要重建索引。

    posted on 2013-08-13 17:28 親愛的小孩 閱讀(164) 評(píng)論(0)  編輯  收藏

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 黄色短视频免费看| 亚洲性一级理论片在线观看| 特级毛片全部免费播放| 免费看污成人午夜网站| 亚洲高清无在码在线无弹窗| 亚洲国产精品一区二区久| 人妻在线日韩免费视频| a毛片免费全部播放完整成| 亚洲精品综合久久| 一级看片免费视频| 性xxxx视频免费播放直播| 四虎成人精品一区二区免费网站| 亚洲欧洲日本国产| 波多野结衣在线免费视频| 色偷偷女男人的天堂亚洲网| 国产一卡2卡3卡4卡无卡免费视频| 亚洲制服丝袜一区二区三区| 色窝窝免费一区二区三区| a视频在线观看免费| 久久精品国产亚洲| 亚洲午夜无码毛片av久久京东热| 最新欧洲大片免费在线| 亚洲国产欧美一区二区三区| 无码成A毛片免费| 亚洲AV一二三区成人影片| 中文字幕在线免费看线人| 亚洲AV乱码久久精品蜜桃| 国产亚洲美女精品久久| 91成人免费观看网站| 亚洲av无码一区二区三区在线播放| 免费观看国产精品| 成人影片一区免费观看| 亚洲第一页在线播放| 日韩在线看片免费人成视频播放| 亚洲综合一区二区国产精品| 永久免费AV无码国产网站| 精品视频免费在线| 亚洲天天在线日亚洲洲精| 久久免费看少妇高潮V片特黄| 亚洲天堂2016| 国产综合精品久久亚洲|