伊人99re_av日韩成人_91高潮精品免费porn_色狠狠色婷婷丁香五月_免费看的av_91亚色网站

中培偉業(yè)IT資訊頻道
您現(xiàn)在的位置:首頁 > IT資訊 > 數(shù)據(jù)庫 > 5個提升 Oracle數(shù)據(jù)庫設(shè)計性能的法則

5個提升 Oracle數(shù)據(jù)庫設(shè)計性能的法則

2017-01-19 16:33:35 | 來源:中培企業(yè)IT培訓(xùn)網(wǎng)

在Oracle數(shù)據(jù)庫的應(yīng)用過程中,數(shù)據(jù)庫性能的好壞直接關(guān)系到數(shù)據(jù)庫運(yùn)行的效率。中培偉業(yè)《Oracle數(shù)據(jù)庫管理與性能調(diào)優(yōu)》培訓(xùn)專家袁老師指出,對于提升數(shù)據(jù)庫性能來說,合理的數(shù)據(jù)庫設(shè)計,比升級服務(wù)器的硬件配置還要來的有效。

袁老師根據(jù)多年的工作經(jīng)驗(yàn)在這里介紹了5個提升Oracle數(shù)據(jù)庫設(shè)計性能的法則:

(一)在小型表上不要建立索引

毋庸置疑,索引可以提高數(shù)據(jù)庫查詢的效率。但是俗話說,過之則不及。索引也必須用在合時的地方。如果索引設(shè)置不當(dāng),不但不會提升數(shù)據(jù)庫的性能,反而會起到相反的作用。如在小型數(shù)據(jù)庫上設(shè)置索引,而且這些表用戶更改的比較頻繁。當(dāng)進(jìn)行這些變更作業(yè)的時候,需要對索引進(jìn)行維護(hù)。而這個維護(hù)的工作量可能比掃描表空間消耗更多的存儲空間。從而不但起步到改善數(shù)據(jù)庫性能的作用,反而是在拖后腿。

所以,在數(shù)據(jù)庫設(shè)計的時候,要做到的第一個戒條就是,不要再用戶經(jīng)常更改的小型表上建立索引。否則的話,是得不償失的。

(二)不要用用戶的鍵

如我們在設(shè)計一個ERP系統(tǒng)數(shù)據(jù)庫的時候,有一張銷售訂單表。在這張表中,有一個銷售訂單號。那么我們能否利用這個單號作為關(guān)聯(lián)其他表的外鍵呢?如在銷售出貨單上,需要關(guān)聯(lián)到銷售訂單。這個時候,我們能否把銷售訂單單號作為跟出貨單關(guān)聯(lián)的關(guān)鍵字呢?

袁老師的回答是可以,但是不是最優(yōu)選擇,這也是為什么不要用用戶的鍵的原因。通常情況下,不要選擇用戶可編輯的字段作為外鍵或者主鍵。因?yàn)檫@會增加我們額外的工作量。

另外,我們還必須為此設(shè)計一些檢測和糾正鍵沖突的方法。如考慮這個外鍵的直是否在其他數(shù)據(jù)表中存在等等。雖然這通常只需要我們花點(diǎn)時間就可以搞定。但是從數(shù)據(jù)庫性能上來說,這個代價就比較大了。再則,如此的話,就不能夠很好的把系統(tǒng)的基本數(shù)據(jù)跟企業(yè)員工的數(shù)據(jù)實(shí)現(xiàn)很好的隔離。

所以,袁老師認(rèn)為,不要用用戶的鍵來作為我們數(shù)據(jù)庫設(shè)計的主鍵或則外鍵。或者說,數(shù)據(jù)庫設(shè)計時用到的鍵要讓數(shù)據(jù)庫系統(tǒng)進(jìn)行自動維護(hù),用戶不得更改這個維護(hù)規(guī)則。

(三)不要用商務(wù)規(guī)則來實(shí)現(xiàn)數(shù)據(jù)的完整性

數(shù)據(jù)的完整性有好幾種實(shí)現(xiàn)方法。如可以通過數(shù)據(jù)庫約束實(shí)現(xiàn)數(shù)據(jù)完整性;也可以通過前臺系統(tǒng)的商務(wù)規(guī)則來實(shí)現(xiàn)數(shù)據(jù)的完整性。不過,袁老師這里要建議的是,在一些大型的數(shù)據(jù)庫中,不要試圖通過商務(wù)規(guī)則來實(shí)現(xiàn)數(shù)據(jù)的完整性,而盡可能的通過數(shù)據(jù)庫的約束來實(shí)現(xiàn)。因?yàn)槿敉ㄟ^商務(wù)規(guī)則來實(shí)現(xiàn)完整性,往往會出現(xiàn)一些莫名其妙的錯誤。

(四)在可能的情況下,不要讓前臺應(yīng)用程序直接訪問數(shù)據(jù)表

其實(shí),在數(shù)據(jù)庫基礎(chǔ)表與前臺應(yīng)用程序之間,還有一個很好的“中間人”,那就是視圖。試圖是數(shù)據(jù)庫基礎(chǔ)表的一個抽象。他除了可以保障數(shù)據(jù)的質(zhì)量外,還可以有效的訪問前臺應(yīng)用程序?qū)τ跀?shù)據(jù)的非法訪問。所以,一些安全性級別比較高的數(shù)據(jù)庫系統(tǒng),在數(shù)據(jù)庫設(shè)計的時候,往往會在數(shù)據(jù)庫和前臺應(yīng)用程序代碼之間提供“視圖”這個中間人,讓其作為基礎(chǔ)表的“新聞發(fā)言人”。如此,前臺應(yīng)用程序在沒有必要的情況下,可以不直接訪問數(shù)據(jù)表,而是通過視圖來對表實(shí)現(xiàn)間接的訪問。

如在進(jìn)行數(shù)據(jù)導(dǎo)入程序設(shè)計的時候,通過視圖來實(shí)現(xiàn)則是一個很理想的方法。這不但效率比較低,而且也不容易實(shí)現(xiàn)數(shù)據(jù)的完整性。此時,我們就可以利用視圖,把一些必須要填入的字段組合在一張可更新視圖中。如此,前臺應(yīng)用程序只需要訪問一個數(shù)據(jù)庫對象即可。

再者,在數(shù)據(jù)庫報表設(shè)計上,更是要通過視圖來實(shí)現(xiàn)。而不要通過傳遞一段SQL代碼來查詢基礎(chǔ)表。這對于數(shù)據(jù)的安全性會帶來比較大的威脅。所以,第四條法則就是,在可能的情況下,不要讓前臺應(yīng)用程序直接訪問數(shù)據(jù)表。

(五)不要一直讓用戶輸入數(shù)據(jù)

有些字段其實(shí)不一定要讓用戶輸入,只需要用戶選擇即可。這種手段,是提高數(shù)據(jù)完整性的最佳方式之一。若能夠給用戶提供一個詳細(xì)的列表供其選擇,這樣將減少鍵入代碼的錯誤,同時提高數(shù)據(jù)庫的一致性;也可以提高用戶界面的友好性。

所以,在數(shù)據(jù)庫設(shè)計的時候,盡量使用列表字段來供用戶選擇。如在數(shù)據(jù)保存的時候,都要去判斷用戶輸入的數(shù)據(jù)是否合乎完整性的規(guī)則。這顯然工作量要比設(shè)計一個列表字段多得多。

故數(shù)據(jù)庫設(shè)計的第五條法則就是不要老是讓用戶手工輸入數(shù)據(jù)。提供列表讓用戶進(jìn)行選擇,用戶不僅可以提高效率,我們也可以省事,同時,也能夠保障數(shù)據(jù)的準(zhǔn)確率。

標(biāo)簽: Oracle
主站蜘蛛池模板: 密臀av网| 国产精品久久久一区二区三区网站 | 全部免费的毛片在线看 | 国产成人精品久久一区二区三区 | 7788私人影院 | 欧美亚洲日本 | 久久久人妻无码A片一区二区三区 | 国产精品久久久久久无毒不卡 | 一个人看的视频www在线 | 久久不雅视频 | 久久久亚洲精品中文字幕 | 免费一级黄色大片 | 99爱福利视频在线观看 | 久久中文字幕AV不卡一区二区 | xxxx寡妇xxx极品视频 | 人妻出轨中文字幕不卡一区 | 久久亚洲AV成人无码软件 | 极品少妇xxxxⅹ另类 | 亚洲精品秘在线看 | 国产精品国产三级国产普通 | 极品肌肉警察3XVIDEOS | 2021国产在线观看不卡视频 | 午夜av免费观看 | 日韩欧美中文字幕一区二区 | 国产一级特黄aa大片免费看 | 超碰av在线 | 午夜精品久久久久9999 | 精品一区二区三区成人精品 | 色天天综合网 | 午夜宅男在线观看 | 国产原创中文字幕 | 一本岛高清乱码2020叶美 | 一级毛片私人影院 | 国产精品日产三级在线 | 欧美人与牲禽动交精品一区 | 亚洲国产成人va在线观看 | a一级日本| 伊人久久综在合线亚洲2019 | 成人欧美视频在线观看 | 69精品人人槡人妻人人玩 | 国产美女一级a作爱在线观看 |