版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、數(shù)據(jù)庫優(yōu)化數(shù)據(jù)庫優(yōu)化的目的:避免磁盤IO瓶頸、減少CPU利用率和減少資源競(jìng)爭(zhēng)。數(shù)據(jù)庫的優(yōu)化包括物理上的優(yōu)化,如良好的平臺(tái)(硬件平臺(tái)、網(wǎng)絡(luò)平臺(tái)),合理的環(huán)境參數(shù)(操作系統(tǒng)環(huán)境參數(shù)、acle環(huán)境參數(shù)),及軟件上的優(yōu)化。一、數(shù)據(jù)庫結(jié)構(gòu)的設(shè)計(jì)1、數(shù)據(jù)庫的邏輯設(shè)計(jì)、包括表與表之間的關(guān)系是優(yōu)化關(guān)系型數(shù)據(jù)庫性能的核心。一個(gè)好的邏輯數(shù)據(jù)庫設(shè)計(jì)可以為優(yōu)化數(shù)據(jù)庫和應(yīng)用程序打下良好的基礎(chǔ)。標(biāo)準(zhǔn)化的數(shù)據(jù)庫邏輯設(shè)計(jì)包括用多的、有相互關(guān)系的窄表來代替很多列的長數(shù)據(jù)
2、表。下面是一些使用標(biāo)準(zhǔn)化表的一些好處。A:由于表窄,因此可以使排序和建立索引更為迅速B:由于多表,所以多鏃的索引成為可能C:更窄更緊湊的索引D:每個(gè)表中可以有少一些的索引,因此可以提高update等的速度,因?yàn)檫@些操作在索引多的情況下會(huì)對(duì)系統(tǒng)性能產(chǎn)生很大的影響E:更少的空值和更少的多余值,增加了數(shù)據(jù)庫的緊湊性由于標(biāo)準(zhǔn)化,所以會(huì)增加了在獲取數(shù)據(jù)時(shí)引用表的數(shù)目和其間的連接關(guān)系的復(fù)雜性。太多的表和復(fù)雜的連接關(guān)系會(huì)降低服務(wù)器的性能,因此在這兩者
3、之間需要綜合考慮。定義具有相關(guān)關(guān)系的主鍵和外來鍵時(shí)應(yīng)該注意的事項(xiàng)主要是:用于連接多表的主鍵和參考的鍵要有相同的數(shù)據(jù)類型。2、鍵的設(shè)計(jì)基本表設(shè)計(jì)中,表的主鍵、外鍵、索引設(shè)計(jì)占有非常重要的地位,它們與系統(tǒng)的運(yùn)行性能密切相關(guān)。(1)主鍵(PrimaryKey):主鍵被用于復(fù)雜的SQL語句時(shí),頻繁地在數(shù)據(jù)訪問中被用到。一個(gè)表只有一個(gè)主鍵。主鍵應(yīng)該有固定值(不能為Null或缺省值,要有相對(duì)穩(wěn)定性),不含代碼信息,易訪問。把常用(眾所周知)的列作為
4、主鍵才有意義。短主鍵最佳(小于25bytes),主鍵的長短影響索引的大小,索引的大小影響索引頁的大小,從而影響磁盤IO。主鍵分為自然主鍵和人為主鍵。自然主鍵由實(shí)體的屬性構(gòu)成,自然主鍵可以是復(fù)合性的,在形成復(fù)合主鍵時(shí),主鍵列不能太多,復(fù)合主鍵使得Join操作復(fù)雜化、也增加了外鍵表的大小。人為主鍵是,在沒有合適的自然屬性鍵、或自然屬性復(fù)雜或靈敏度高時(shí),人為形成的。人為主鍵一般是整型值(滿足最小化要求),沒有實(shí)際意義,也略微增加下降一些。實(shí)驗(yàn)
5、表明,不要在一個(gè)單表上用大量的索引,不要在共享的列上(指在多表中用了參考約束)使用重疊的索引。在某一列上檢查唯一的數(shù)據(jù)的個(gè)數(shù),比較它與表中數(shù)據(jù)的行數(shù)做一個(gè)比較。這就是數(shù)據(jù)的選擇性,這比較結(jié)果將會(huì)幫助你決定是否將某一列作為侯選的索引列,如果需要,建哪一種索引。三、查詢語句的優(yōu)化1、使用解釋計(jì)劃。2、使用索引。3、慎重使用NOTIN、IN子句,因?yàn)镮N會(huì)使系統(tǒng)無法使用索引,而只能直接搜索表中的數(shù)據(jù),能用BETWEEN就不用IN。很多時(shí)候使用
6、EXISTS,NOTEXISTS會(huì)更好些。4、盡量避免WHERE條件中使用!=,操作符。5、盡量避免WHERE條件中使用條件,否則將導(dǎo)致引擎放棄索引而進(jìn)行全表掃描。6、盡量避免WHERE條件中對(duì)字段進(jìn)行NULL判斷,否則將導(dǎo)致引擎放棄索引而進(jìn)行全表掃描。7、避免在索引過的數(shù)據(jù)中,使用非打頭字母搜索。如FROMAWHERENAMELIKE%L%;不使用索引FROMAWHERESUBSTR(NAME21)=L;不使用索引FROMAWHERE
7、NAMELIKEL%;使用索引8、必要時(shí)可以強(qiáng)制查詢優(yōu)化器使用索引。9、避免在WHERE條件中對(duì)字段進(jìn)行表達(dá)式操作,如WHEREA2=100改為A=2100。10、避免在WHERE條件中對(duì)字段進(jìn)行函數(shù)操作,如SUBSTR等。11、使用復(fù)合索引時(shí),必須是該索引的第一個(gè)字段作為條件,否則不會(huì)使用索引。12、能用DISTINCT的就不用GROUPBY。13、能用UNIONALL就不用UNION。14、盡量使用綁定變量。Executeimmed
8、iateintotvalues(:x)usingi而不是Executeimmediateintotvalues(||i||)15、可以使用反連接來代替NOTIN。16、在嵌套查詢中使用ROWNUM。四、使用存儲(chǔ)過程1存儲(chǔ)過程因?yàn)镾QL語句已經(jīng)預(yù)編繹過了,因此運(yùn)行的速度比較快。2存儲(chǔ)過程可以接受參數(shù)、輸出參數(shù)、返回單個(gè)或多個(gè)結(jié)果集以及返回值??梢韵虺绦蚍祷劐e(cuò)誤原因。3存儲(chǔ)過程運(yùn)行比較穩(wěn)定,不會(huì)有太多的錯(cuò)誤。只要一次成功,以后都會(huì)按這個(gè)程序
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 數(shù)據(jù)庫優(yōu)化探討
- 數(shù)據(jù)庫查詢優(yōu)化之我見
- sql數(shù)據(jù)庫查詢優(yōu)化
- ORACLE數(shù)據(jù)庫性能優(yōu)化.pdf
- 淺議數(shù)據(jù)庫的性能優(yōu)化
- 數(shù)據(jù)庫優(yōu)化服務(wù)外文翻譯
- 數(shù)據(jù)庫優(yōu)化服務(wù)外文翻譯
- 優(yōu)化myschool數(shù)據(jù)庫設(shè)計(jì)總結(jié)
- 數(shù)據(jù)庫優(yōu)化服務(wù)外文翻譯
- 數(shù)據(jù)庫檢索acs數(shù)據(jù)庫
- 數(shù)據(jù)庫課程設(shè)計(jì)---數(shù)據(jù)庫
- 數(shù)據(jù)庫優(yōu)化服務(wù)外文翻譯.doc
- nativexml數(shù)據(jù)庫的查詢優(yōu)化研究
- 關(guān)系數(shù)據(jù)庫查詢優(yōu)化.pdf
- Oracle數(shù)據(jù)庫性能優(yōu)化研究.pdf
- 數(shù)據(jù)庫優(yōu)化服務(wù)外文翻譯.doc
- 數(shù)據(jù)庫
- 數(shù)據(jù)庫課程設(shè)計(jì)--數(shù)據(jù)庫設(shè)計(jì)
- 數(shù)據(jù)庫操作及認(rèn)識(shí)數(shù)據(jù)庫
- 數(shù)據(jù)庫實(shí)驗(yàn)jdbc連接數(shù)據(jù)庫
評(píng)論
0/150
提交評(píng)論