久久久久久久视色,久久电影免费精品,中文亚洲欧美乱码在线观看,在线免费播放AV片

<center id="vfaef"><input id="vfaef"><table id="vfaef"></table></input></center>

    <p id="vfaef"><kbd id="vfaef"></kbd></p>

    
    
    <pre id="vfaef"><u id="vfaef"></u></pre>

      <thead id="vfaef"><input id="vfaef"></input></thead>

    1. 站長(zhǎng)資訊網(wǎng)
      最全最豐富的資訊網(wǎng)站

      oracle索引反轉(zhuǎn)是什么

      在oracle中,索引翻轉(zhuǎn)指的是在創(chuàng)建索引時(shí),針對(duì)索引列的索引鍵值進(jìn)行字節(jié)反轉(zhuǎn),進(jìn)而實(shí)現(xiàn)分散存放不同子節(jié)點(diǎn)塊的目的,是“B-tree”索引的一個(gè)分支;使用反向索引,能將索引列的鍵值進(jìn)行反轉(zhuǎn),實(shí)現(xiàn)順序的鍵值分散到不同的葉塊中,從而減少索引塊的爭(zhēng)用。

      oracle索引反轉(zhuǎn)是什么

      本教程操作環(huán)境:windows10系統(tǒng)、Oracle 12c版、Dell G3電腦。

      oracle索引反轉(zhuǎn)是什么

      反向索引作為B-tree索引的?個(gè)分?,主要是在創(chuàng)建索引時(shí),針對(duì)索引列的索引鍵值進(jìn)?字節(jié)反轉(zhuǎn),進(jìn)?實(shí)現(xiàn)分散存放到不同葉

      ?節(jié)點(diǎn)塊的?的。

      反向索引針對(duì)的問(wèn)題

      使?傳統(tǒng)的B-tree索引,當(dāng)索引的列是按順序產(chǎn)?時(shí),相應(yīng)的索引鍵值會(huì)基本分布在同?個(gè)葉塊中。當(dāng)?戶對(duì)該列進(jìn)?操作時(shí),

      難免會(huì)發(fā)?索引塊的爭(zhēng)?。

      使?反向索引,將索引列的鍵值進(jìn)?反轉(zhuǎn),實(shí)現(xiàn)順序的鍵值分散到不同的葉塊中,從?減少索引塊的爭(zhēng)?。

      例如:鍵值1001、1002、1003,反轉(zhuǎn)后1001、2001、3001,進(jìn)?分散到不?的葉?節(jié)點(diǎn)塊中。

      當(dāng)載入一些有序數(shù)據(jù)時(shí),索引肯定會(huì)碰到與I/O相關(guān)的一些瓶頸。在數(shù)據(jù)載入期間,某部分索引和磁盤肯定會(huì)比其他部分使用頻繁得多。為了解決這個(gè)問(wèn)題,可以把索引表空間存放在能夠把文件物理分割在多個(gè)磁盤上的磁盤體系結(jié)構(gòu)上。

      為了解決這個(gè)問(wèn)題,Oracle還提供了一種反轉(zhuǎn)鍵索引的方法。如果數(shù)據(jù)以反轉(zhuǎn)鍵索引存儲(chǔ),這些數(shù)據(jù)的值就會(huì)與原先存儲(chǔ)的數(shù)值相反。這樣,數(shù)據(jù)1234、1235和1236就被存儲(chǔ)成4321、5321和6321。結(jié)果就是索引會(huì)為每次新插入的行更新不同的索引塊。

      不能對(duì)位圖索引和索引組織表進(jìn)行反轉(zhuǎn)鍵處理。

      技巧:

      如果您的磁盤容量有限,同時(shí)還要執(zhí)行大量的有序載入,就可以使用反轉(zhuǎn)鍵索引。

      不可以將反轉(zhuǎn)鍵索引與位圖索引或索引組織表結(jié)合使用。

      ORACLE DBA實(shí)踐:創(chuàng)建反轉(zhuǎn)關(guān)鍵字索引

      對(duì)于大型聯(lián)機(jī)事務(wù)處理系統(tǒng)來(lái)說(shuō),其中的表一般都很大,在這些表的主鍵是由序列號(hào)產(chǎn)生的,而且上面是有索引的。因此相鄰的索引記錄就可能存在同一個(gè)數(shù)據(jù)塊中,這樣會(huì)形成數(shù)據(jù)塊的競(jìng)爭(zhēng)。而隨著時(shí)間流逝,會(huì)不斷在這些表中刪除舊的無(wú)用的數(shù)據(jù),插入新的有用的數(shù)據(jù),很顯然刪除的數(shù)據(jù)是序列號(hào)很小的舊數(shù)據(jù),而插入的數(shù)據(jù)序列號(hào)是剛剛產(chǎn)生的(一定是大號(hào)),這就造成了另一個(gè)嚴(yán)重的問(wèn)題:即該索引的樹是往序列號(hào)大的一面偏,因此會(huì)使得樹的深度加深從而使系統(tǒng)效率下降。

      為了解決上述問(wèn)題,oracle引入了反轉(zhuǎn)關(guān)鍵字索引。反轉(zhuǎn)關(guān)鍵字索引通過(guò)將關(guān)鍵字(序列號(hào))的每個(gè)字節(jié)順序顛倒過(guò)來(lái)再建索引的方法實(shí)現(xiàn)的。舉例如下:

      oracle索引反轉(zhuǎn)是什么

      由上可見(jiàn),原來(lái)相鄰的order#經(jīng)反轉(zhuǎn)之后就不再相鄰了,這樣就可以把相鄰的order#分散到不同的數(shù)據(jù)塊中,上述問(wèn)題也就迎刃而解。

      但事物總是一分為二的,反轉(zhuǎn)索引關(guān)鍵字也存在問(wèn)題。例如在反轉(zhuǎn)關(guān)鍵字索引的表上進(jìn)行范圍查詢就會(huì)遇到麻煩。在正常索引的況下,滿足條件的索引記錄應(yīng)該放在同一個(gè)或相鄰的數(shù)據(jù)塊中,速度會(huì)很快;而使用反轉(zhuǎn)關(guān)鍵字索引之后,原來(lái)相鄰的滿足條件的索引記錄已經(jīng)被分散到多個(gè)數(shù)據(jù)塊中,此事要完成查詢操作只能進(jìn)行全表掃描。因此在決定是否使用反轉(zhuǎn)關(guān)鍵字索引時(shí),要分清是插入操作重要,還是范圍查詢重要。

      推薦教程:《Oracle視頻教程》

      贊(0)
      分享到: 更多 (0)
      網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)