日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
索引存儲關(guān)系到數(shù)據(jù)庫的運(yùn)行效率

導(dǎo)讀:數(shù)據(jù)庫中,索引與表一樣,不僅需要在數(shù)據(jù)字典中保存索引的定義,還需要在表空間中為他分配實(shí)際的存儲空間,并為其設(shè)置存儲參數(shù)。數(shù)據(jù)庫管理員若能夠給索引分配合理的表空間,并且設(shè)置合適的參數(shù)的話,則可以在一定程度上提高數(shù)據(jù)庫的運(yùn)行效率。

成都網(wǎng)站建設(shè)哪家好,找成都創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、成都網(wǎng)站建設(shè)、微信開發(fā)、微信小程序、集團(tuán)成都企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。核心團(tuán)隊均擁有互聯(lián)網(wǎng)行業(yè)多年經(jīng)驗(yàn),服務(wù)眾多知名企業(yè)客戶;涵蓋的客戶類型包括:搬家公司等眾多領(lǐng)域,積累了大量豐富的經(jīng)驗(yàn),同時也獲得了客戶的一致贊譽(yù)!

  雖然說,在建立索引的過程中,不為其指定具體的存儲參數(shù)也是可行的。索引會自動繼承所處表空間的默認(rèn)存儲參數(shù)。不過,在數(shù)據(jù)庫設(shè)計過程中,筆者是不建議這么做。因?yàn)檫@不能夠發(fā)揮Oracle數(shù)據(jù)庫高性能的優(yōu)勢。特別是在一些比較復(fù)雜的數(shù)據(jù)庫設(shè)計中,一定要根據(jù)實(shí)際情況,合理的索引存儲進(jìn)行配置,以達(dá)到數(shù)據(jù)庫性能優(yōu)化的目的。

  具體的說,數(shù)據(jù)庫管理員可以從如下幾個方面入手,做好索引的存儲管理。

  第一步:為索引指定存儲的表空間。

  當(dāng)數(shù)據(jù)庫管理員為表或者字段建立索引的時候,可以選擇是否指定具體的表空間。若沒有具體指定的話,則數(shù)據(jù)庫會自動在用戶的默認(rèn)表空間創(chuàng)建索引段。這里初學(xué)者要注意,索引的存儲默認(rèn)表空間不是跟著其所對應(yīng)的數(shù)據(jù)庫對象走,而是跟著用戶走。也就是說,現(xiàn)在有一張員工信息表,要為其建立一個索引。并不是說這張員工信息表屬于哪個表空間,這對應(yīng)的索引默認(rèn)也是哪個表空間。而這個索引的默認(rèn)表空間是建立這個索引的用戶的默認(rèn)表空間。

  索引是對表中字段進(jìn)行排序的一種手段。在數(shù)據(jù)庫管理員創(chuàng)建索引的時候,Oracle首先對建立索引的字段進(jìn)行排序,然后將排序后的字段值和相應(yīng)記錄的Rowid存儲在索引段中。而這個數(shù)據(jù)存儲,就需要用到一定的存儲空間,即我們所為的表空間。若一張表中發(fā)索引比較復(fù)雜,則其索引本身的空間可能比表中數(shù)據(jù)所占用的空間還要大??梢?,對于索引的表空間進(jìn)行管理的必要性。

  在索引的建立過程中,對于其所存儲的表空間沒有特殊的限制。如不需要像其他數(shù)據(jù)庫一樣,要求把索引與表建立在同一個表空間或者磁盤上。數(shù)據(jù)庫管理員可以根據(jù)企業(yè)自身的需求,合理的為索引分配存儲空間。

  不過,筆者認(rèn)為,最好能夠把表與索引保存在不同的表空間中。因?yàn)镺racle數(shù)據(jù)庫能夠并行讀取不同磁盤中的數(shù)據(jù),從而達(dá)減少輸入輸入沖突的目的。而現(xiàn)在把索引與其對應(yīng)的表存放在不同硬盤上的不同表空間中,就可以提高查詢的效率。往往在數(shù)據(jù)庫性能優(yōu)化中,調(diào)整索引與基礎(chǔ)表的表空間位置,這也是我們數(shù)據(jù)庫管理員常用的手段之一。故,筆者建議,最好能夠?yàn)樗饕⒁粋€獨(dú)立的表空間,跟其對應(yīng)的表分開存放。若數(shù)據(jù)庫服務(wù)器有多個磁盤的話,可以考慮分別存放在不同的磁盤上。

  另外,若把索引跟對應(yīng)的表存儲在不同的表空間中的話,在數(shù)據(jù)庫備份的時候,要稍加注意。因?yàn)镺racle數(shù)據(jù)庫允許數(shù)據(jù)庫管理員以表空間為單位,對數(shù)據(jù)庫進(jìn)行備份與還原。此時,若把它們存儲在不同的表空間的話,則對數(shù)據(jù)表所在的表空間進(jìn)行備份的時候,就不會備份索引信息。在還原的時候,也不會自動把表空間對應(yīng)的索引進(jìn)行還原。所以,若把索引與表存放在同一個表空間中,則對于數(shù)據(jù)庫備份來說,要方便一點(diǎn)。但是,這畢竟是次要的。比起數(shù)據(jù)庫的性能來說,這點(diǎn)困難還是可以克服的。

  第二步:為提高更新性能合理配置空閑空間管理方式。

  索引不僅跟數(shù)據(jù)庫的查詢效率息息相關(guān),而且,還跟數(shù)據(jù)庫的更新有重要的影響。因?yàn)橐獙?shù)據(jù)進(jìn)行更新,往往伴隨著對數(shù)據(jù)進(jìn)行查詢。所以,合理設(shè)置索引空閑空間的處理方式,可以有效的提高數(shù)據(jù)庫的更新性能。

  數(shù)據(jù)庫創(chuàng)建索引的時候,主要是通過Pctfree參數(shù)來指定為更新操作而預(yù)留的空閑空間百分比。如果數(shù)據(jù)庫管理員把這個參數(shù)設(shè)置為80%。就表示數(shù)據(jù)塊中的數(shù)據(jù)所占用的空間少于總空閑空間的80% 時,可以直接利用這個空閑空間來存儲需要更新的數(shù)據(jù)。當(dāng)現(xiàn)有數(shù)據(jù)塊的數(shù)據(jù)超過了這個比例后,則發(fā)生更新動作時,就需要為其分配新的數(shù)據(jù)塊了。

  可見,當(dāng)頻繁的為更新作業(yè)分配數(shù)據(jù)塊的時候,會極大的影響數(shù)據(jù)更新的效率;同時,因?yàn)樵黾有碌臄?shù)據(jù)塊,還會耗用服務(wù)器的硬件資源,如內(nèi)存等等。這無疑會影響除了更新作業(yè)之外的其他作業(yè),會對整個數(shù)據(jù)庫的運(yùn)行性能產(chǎn)生不利的影響。

  所以,在創(chuàng)建索引的時候,數(shù)據(jù)庫管理員要合理的配置這個參數(shù)。具體什么參數(shù)是合適的,沒有一個嚴(yán)格的標(biāo)準(zhǔn)。這主要是根據(jù)索引對應(yīng)的表,是否需要進(jìn)行頻繁的更新來決定的。當(dāng)這個索引所對應(yīng)的表,可能要進(jìn)行頻繁的變更,則最好能夠?yàn)槠渲付ū容^大的Pctfree參數(shù),以提高數(shù)據(jù)庫的更新性能。如對于ERP系統(tǒng)中的訂單變更表或者價格信息表,起碼要把這個參數(shù)指定為80%,或者更高。相反,對于系統(tǒng)中不怎么進(jìn)行更新的產(chǎn)品基本信息表,則可以把這個參數(shù)設(shè)置為50%,或者更低。

  不過,數(shù)據(jù)庫管理員需要注意,并不是說Pctfree參數(shù)設(shè)置的越大越好。這主要是因?yàn)樘煜聸]有白吃的午餐。Pctfree設(shè)置的比較大,并不是說是百利而無一害的。把Pctfree參數(shù)設(shè)置的偏大,是以犧牲存儲空間未代價的。所以,對于一些更新很好的表,在為其建立索引的時候,沒有必要為其指定比較大的Pctfree參數(shù)。我們也可以利用Pctused參數(shù)來進(jìn)行類似的設(shè)置。這個參數(shù)的用途跟Pctfree大同小異,也是對索引空閑空間管理的一種方式。

  另外對于數(shù)據(jù)庫表更新來說,還有一些索引管理手段,可以提高數(shù)據(jù)庫的更新性能。

如在企業(yè)導(dǎo)入基礎(chǔ)數(shù)據(jù)的時候,若某需要在某張表中插入大量數(shù)據(jù),則此時最好能夠把這張表中的索引先取消掉。因?yàn)楦鶕?jù)索引的工作機(jī)制,每在數(shù)據(jù)庫表中插入一條記錄的時候,數(shù)據(jù)庫都要根據(jù)插入的數(shù)據(jù),更改索引。若插入的記入比較多,而這張表的索引也比較復(fù)雜的話,則數(shù)據(jù)更新的效率就會比較慢。為了提高數(shù)據(jù)表導(dǎo)入的效率,最好能夠在這個工作之前先把索引都禁用掉。等到導(dǎo)入完畢后,再重新啟用索引。

  第三步:為索引指定區(qū)分配方式。

  在索引創(chuàng)建過程中,雖然可以通過Storage語句來指定存儲空間的區(qū)分配方式。但是,筆者覺得這個沒有多大的實(shí)際意義。一方面起指定的參數(shù)比較少,只能夠指定創(chuàng)建索引時分配的第一個區(qū)的大小。另一方面,這對于提高數(shù)據(jù)庫的性能、索引的管理效率,沒有多大的效果。

  所以,筆者在創(chuàng)建索引的過程中,基本上是不用Storage語句來指定其存儲空間的區(qū)分配方式?;蛟S其他數(shù)據(jù)庫管理員有不同的見解,大家可以討論討論。

  總之,筆者認(rèn)為對索引進(jìn)行優(yōu)化的時候,主要是涉及到前面兩個方面。一是要把索引跟其對應(yīng)的表存儲在不同硬盤的不同表空間上。二是若索引所對應(yīng)的表可能涉及到比較頻繁的更新的話,則可以考慮把Pctfree參數(shù)設(shè)置的高一點(diǎn)。


分享標(biāo)題:索引存儲關(guān)系到數(shù)據(jù)庫的運(yùn)行效率
轉(zhuǎn)載來于:http://m.5511xx.com/article/ccscsop.html