1) 確定數(shù)據(jù)的存取方法
存取方法是快速存取數(shù)據(jù)庫(kù)中的數(shù)據(jù)的技術(shù),數(shù)據(jù)庫(kù)管理系統(tǒng)一般都提供多種存取方法,具體采取哪種存取方法由系統(tǒng)根據(jù)數(shù)據(jù)的存儲(chǔ)方式來(lái)決定,用戶一般不能干預(yù)。
用戶通常可以利用建立索引的方法來(lái)加快數(shù)據(jù)的查詢效率。如果建立了索引,系統(tǒng)就可以使用索引查找方法,索引方法實(shí)際上就是根據(jù)應(yīng)用要求確定在關(guān)系的哪個(gè)屬性或哪些屬性上建立索引,確定在哪此屬性上建立復(fù)合索引,哪些索引要設(shè)計(jì)為唯一索引以及哪些索31要設(shè)計(jì)為聚簇索引,聚簇索引是將索引在物理 上有序排列后得到的索引。需要注意的是,索引,般可以提高查詢性能,但會(huì)降低數(shù)據(jù)修改性能。因?yàn)樵谛薷臄?shù)據(jù)時(shí),系統(tǒng)要同時(shí)對(duì)索引進(jìn)行維護(hù),使索引 與數(shù)據(jù)保持 一致。維護(hù)索引要占用相當(dāng)多的時(shí)間,而且存放索引信息也會(huì)占用空間資源 因此在決定是否建立索引時(shí),要權(quán)衡數(shù)據(jù)庫(kù)的操作,姐果查詢多,而且 對(duì)查詢的性能要求比較高,則uf以考慮多建一些索引。奻果數(shù)據(jù)更改多,并且對(duì)更改的效率要求比較高,則應(yīng)考慮少建.些索引,建立索引的原則妲下,滿足以下條件之 -的,可以在有關(guān)屬性上建立索引:
①主鍵和外鍵上通常建立索引。
②如果一個(gè)屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這個(gè)屬性 上建立索引。
③如果一個(gè)屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個(gè)屬性上建立索引。
④如果一個(gè)屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個(gè)屬性上建立索引。
⑤對(duì)于以讀為主或者只讀的關(guān)系表,只要需要且存儲(chǔ)空間允許,可以多建索引滿足以下條件之一的,不宜建立索引:
①不出現(xiàn)或者很少出現(xiàn)在查詢條件中的屬性。
②屬性值是可能取值的個(gè)數(shù)很少的屬性。
③屬性值升布嚴(yán)重不均的屬性。
④經(jīng)常更新的屬性和表。因?yàn)樵诟聦傩灾禃r(shí),必須對(duì)相應(yīng)的索引作出修改,這就使系統(tǒng)為維護(hù)索引付出較大的代價(jià)。
⑤屬性值過(guò)長(zhǎng),在過(guò)長(zhǎng)的屬性 上建立索引,索引所占的存儲(chǔ)空間比較大,而且索引的級(jí)數(shù)隨之增加,將會(huì)帶來(lái)許多不便。
⑥太小的表不值得使用索引。
2) 確定數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)
物理結(jié)構(gòu)設(shè)計(jì)中一個(gè)重要的考慮因素就是確定數(shù)據(jù)記錄的存儲(chǔ)方式。常用的存儲(chǔ)方式有 :
①順序存儲(chǔ),這種存儲(chǔ)方式的平均查找次數(shù)。
②散列存儲(chǔ)。這種存儲(chǔ)方式的平均查找次數(shù)由散列算法決定。
③聚簇存儲(chǔ)。這種存儲(chǔ)方式是指將不同類型的記錄外配到相同的物理區(qū)域中,充分利用物理順序性的優(yōu)點(diǎn),提高數(shù)據(jù)訪問(wèn)速度。即將經(jīng)常在一起使用的記錄聚簇在一起,以減少物理輸入/輸出次數(shù)。
用戶通??赏ㄟ^(guò)建立索引來(lái)改變數(shù)據(jù)的存儲(chǔ)方式,但在其他情況下,數(shù)據(jù)是采用順序存儲(chǔ)、散列存儲(chǔ)還是其他的存儲(chǔ)方式是由系統(tǒng)根據(jù)數(shù)據(jù)的具體情況來(lái)決定的。一般系統(tǒng)都會(huì) 為數(shù)據(jù)選擇一種最合適的存儲(chǔ)方式。
確定數(shù)據(jù)的存放位置和存儲(chǔ)結(jié)構(gòu)要綜合考慮數(shù)據(jù)的存取時(shí)間、存儲(chǔ)空間利用率以及維護(hù)代價(jià)等幾個(gè)方面的影響。
確定數(shù)據(jù)的存放位置時(shí),為了提高系統(tǒng)的性能,應(yīng)根據(jù)應(yīng)用情況將數(shù)據(jù)的易變部介和穩(wěn)定部牙、經(jīng)常存取部分和不經(jīng)常存取的部分外開(kāi)存放,放在不同的關(guān)系表中或者放在不同的外存空間,通常,對(duì)于常用的數(shù)據(jù)應(yīng)保存在高性能的外存上,不常用的數(shù)據(jù)可保存在低性能的外存上。
網(wǎng)站建設(shè)由于各個(gè)系統(tǒng)所能提供的對(duì)于數(shù)據(jù)物理安排的手段和方法差異很大,因此設(shè)計(jì)人員必須仔細(xì)了解給定的DBMS在這方面能夠提供哪些方法,再針對(duì)應(yīng)用環(huán)境的要求進(jìn)行合理的物理安排。
在確定了數(shù)據(jù)的存放位置后,還要確定系統(tǒng)的配置參數(shù)。通常,DBMS會(huì)提供一些系統(tǒng)配置參數(shù)、存儲(chǔ)分配參數(shù)供設(shè)計(jì)人員對(duì)數(shù)據(jù)庫(kù)進(jìn)行優(yōu)化,為了系統(tǒng)的性能,在進(jìn)行物理設(shè)計(jì)時(shí)需要對(duì)這些參數(shù)重新賦值。
本文地址:http://m.cdrpkj.cn//article/2581.html