• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      數(shù)據(jù)庫優(yōu)化策略分析

      2014-04-16 16:47:06于麗麗哈爾濱飛機工業(yè)集團有限責(zé)任公司
      關(guān)鍵詞:語句范式運算

      于麗麗/哈爾濱飛機工業(yè)集團有限責(zé)任公司

      數(shù)據(jù)庫優(yōu)化策略分析

      于麗麗/哈爾濱飛機工業(yè)集團有限責(zé)任公司

      從范式優(yōu)化、索引優(yōu)化和查詢優(yōu)化三個方面對數(shù)據(jù)庫的優(yōu)化設(shè)計方法進行分析探討。在邏輯設(shè)計階段,要按照范式優(yōu)化的具體要求來設(shè)計數(shù)據(jù)庫邏輯結(jié)構(gòu),比較其優(yōu)劣從而選擇更好的方案;在數(shù)據(jù)庫物理設(shè)計階段,在有關(guān)屬性或?qū)傩缘慕M合上建立索引時要根據(jù)索引優(yōu)化中的具體要求來進行,使數(shù)據(jù)庫物理結(jié)構(gòu)得以優(yōu)化;在數(shù)據(jù)庫查詢階段,優(yōu)化數(shù)據(jù)查詢語句,以提高SQL語句的執(zhí)行效率。

      數(shù)據(jù)庫;范式優(yōu)化;索引優(yōu)化;查詢優(yōu)化

      一、引言

      隨著數(shù)據(jù)庫應(yīng)用技術(shù)的不斷發(fā)展,人們對計算機化數(shù)據(jù)的需求性越來起強。不完善的數(shù)據(jù)庫對人們?nèi)粘5纳钣绊懺絹碓酱?,這樣就照成人們對數(shù)據(jù)庫的優(yōu)化設(shè)計日益關(guān)注起來。本文針對數(shù)據(jù)庫開發(fā)應(yīng)用中遇到幾種問題采取合適的方法進行調(diào)整和優(yōu)化,使其更加適用于們對數(shù)據(jù)庫的應(yīng)用需求。

      二、基于范式(NF)優(yōu)化數(shù)據(jù)庫

      關(guān)系模式規(guī)范化的基本思想是消除關(guān)系模式中的數(shù)據(jù)冗余,消除數(shù)據(jù)依賴中的不合適的部分,解決數(shù)據(jù)插入、刪除進發(fā)生的異?,F(xiàn)象。這就要求關(guān)系模式要滿足一定的條件。我們把關(guān)系模式規(guī)范化過程中不同程序的規(guī)范化要求設(shè)立的不同標準稱為范式。

      需要符合第三范式,其原理是所有的非主屬性都不函數(shù)傳遞于主屬性。第三范式的運用,不僅避免了由于頻繁的數(shù)據(jù)備份給相關(guān)操作帶來的不利影響,而且很好的保護了數(shù)據(jù)庫的各方面性能不受到損害,使其能夠正常的運行。

      運用第三范式設(shè)計數(shù)據(jù)庫時,往往力求改變數(shù)據(jù)庫的各方面性能。但是不是分解得越多越好,因為在查詢上,時間上要浪費得更多。因此,對于時常要使用的表或者相關(guān)數(shù)據(jù),要對其結(jié)構(gòu)及性能進行全面優(yōu)化和調(diào)整。

      三、基于索引優(yōu)化數(shù)據(jù)庫

      索引應(yīng)用于數(shù)據(jù)庫的主要目的是為了提高數(shù)據(jù)查詢的效率,而數(shù)據(jù)庫優(yōu)化查詢的重要方法之一是建立索引。建立合適的數(shù)據(jù)庫系統(tǒng)索引,就可以避免全表掃描,并減少由于連接查詢而造成的各種多余的開銷,有效提高數(shù)據(jù)庫的查詢速度,優(yōu)化了數(shù)據(jù)庫性能。然而在創(chuàng)建索引時也不由地增加了數(shù)據(jù)庫系統(tǒng)的時間和空間的開銷。所以在創(chuàng)建索引時應(yīng)注意與實際的數(shù)據(jù)庫查詢需求相結(jié)合,這樣才能真正實現(xiàn)基于索引的優(yōu)化數(shù)據(jù)庫。

      1.索引基本概念。索引是一個單獨的、物理的數(shù)據(jù)結(jié)構(gòu),它是某個表中一列或若干列值的集合和相應(yīng)的指向表中物理標識這些值的數(shù)據(jù)頁的邏輯指針清單。

      索引提供指向存儲在表的指定列中的數(shù)據(jù)值的指針,然后根據(jù)您指定的排序順序?qū)@些指針排序。數(shù)據(jù)庫使用索引的方式與您使用書籍中的索引的方式很相似:它搜索索引以找到特定值,然后順指針找到包含該值的行。

      2.創(chuàng)建合適并且高效的索引。創(chuàng)建合適的索引即是對所要創(chuàng)建的索引進行有效的邏輯判斷,使所創(chuàng)建的索引對數(shù)據(jù)庫的工作效率的提高有所幫助。為了實現(xiàn)創(chuàng)建合適的索引,我們得考慮以下幾點要求:在編寫SQL程序時,多注釋那些常用且對性能有影響的SQL語句,以便后來人能更好的理解并利用它,然后再判斷數(shù)據(jù)庫中哪些表中的字段要建立索引;第二,對數(shù)據(jù)庫中使用次數(shù)較多的表,數(shù)據(jù)量較大的表,較經(jīng)常和其他表進行連接操作的表等,都要進行特別的關(guān)注,因為這些表上的索引將對我們所編寫的SQL語句的性能產(chǎn)生深遠的影響。

      四、基于查詢優(yōu)化數(shù)據(jù)庫

      查詢優(yōu)化是為了查詢選擇最有效的查詢計劃的過程。查詢優(yōu)化一方面在關(guān)系代數(shù)級進行優(yōu)化,力圖找出與給定表達式等價,但執(zhí)行效率更高的一個表達式。查詢優(yōu)化的另一方面涉及查詢語句處理策略的選擇,例如SQL語句的合理編寫。

      1.關(guān)系代數(shù)表達式中的查詢優(yōu)化。關(guān)系系統(tǒng)的查詢優(yōu)化是關(guān)系數(shù)據(jù)庫管理系統(tǒng)實現(xiàn)的關(guān)鍵技術(shù),又是關(guān)系系統(tǒng)的優(yōu)點。因為,用戶只要提出“干什么”,不必指出“怎么干”。在關(guān)系代數(shù)表達式中,需要指出若干個關(guān)系的操作步驟。問題是怎樣做才能保證省時、省空間以及效率高,這就是查詢優(yōu)化的問題。需要注意的是,在關(guān)系代數(shù)運算中,笛卡爾積、連接運算最費時間和空間,空間應(yīng)采用什么樣的策略,能夠節(jié)省時間空間,這就是優(yōu)化的準則。具體地講:

      (1)提早執(zhí)行選取運算;

      (2)合并乘積與其后的選擇運算為連接運算;

      (3)將投影運算和其前后的其他運算同時進行,以避免重復(fù)掃描關(guān)系;

      (4)將投影運算和其前后的二目運算結(jié)合起來,便得沒有必要為去掉某些字段再掃描一遍關(guān)系;

      (5)在執(zhí)行連接前對關(guān)系做適當(dāng)?shù)念A(yù)處理,就能快速地找到要連接的元組。

      2.查詢優(yōu)化涉及查詢語句(SQL)的處理策略。

      (1)應(yīng)盡可能不在where子句中使用“?。健边@種不等于的操作符,因為這樣會促使引擎進行全表掃描,優(yōu)化器將無法通過合理的索引方式來確定將要查詢表的行數(shù),這將非常浪費查詢的時間和空間。

      (2)應(yīng)盡可能不在where子句中使用“or”操作符,這樣也會導(dǎo)致全表掃描而導(dǎo)致效率差;

      (3)應(yīng)盡量避免使用通配符“%”開頭的模糊查詢。

      (4)應(yīng)盡可能不在where子句中對字段進行表達式運算操作(如加減乘除),這也將導(dǎo)致引擎放棄使用索引而進行全表掃描從而降低了查詢效率。

      (5)應(yīng)盡可能不在where子句中對字段進行函數(shù)操作,這將導(dǎo)致引擎放棄使用索引而進行全表掃描從而降低了查詢效率。

      (6)查詢語句中使用exists是一個比較好的編寫習(xí)慣。

      (7)應(yīng)盡量避免過于頻繁創(chuàng)建和刪除臨時表,這樣可以減少系統(tǒng)表資源的消耗,從而為別的基本表騰出更多的空間來進行存儲與運算。

      五、結(jié)語

      數(shù)據(jù)庫訪問是影響現(xiàn)代應(yīng)用程序性能和可伸縮性的一個關(guān)鍵點。雖然框架支持構(gòu)建數(shù)據(jù)訪問邏輯,仍然需要對數(shù)據(jù)訪問邏輯投入相當(dāng)?shù)木Γ员苊夥N種陷阱和問題。問題之關(guān)鍵是要理解應(yīng)用程序數(shù)據(jù)訪問層的動態(tài)和特性的一切細節(jié)。優(yōu)化數(shù)據(jù)庫對提高計算機系統(tǒng)的可用性和效率,具有非常重要的意義,特別是在數(shù)據(jù)庫設(shè)計研發(fā)階段,對邏輯結(jié)構(gòu)和物理結(jié)構(gòu)進行有效的優(yōu)化設(shè)計,創(chuàng)建一個規(guī)則布局合理的數(shù)據(jù)庫,能獲得最小的系統(tǒng)開銷,能從根本上大大提高應(yīng)用系統(tǒng)的整體性能,對于以后的數(shù)據(jù)庫性能調(diào)整和利用都有非常大的益處。對數(shù)據(jù)庫的優(yōu)化,關(guān)系著我們對數(shù)據(jù)庫的應(yīng)用是否高效。本文在對數(shù)據(jù)庫優(yōu)化策略分析的基礎(chǔ)上提出了部分見解,有效的提高數(shù)據(jù)庫的應(yīng)用。

      [1]微軟公司著.SQLServer 2005數(shù)據(jù)庫開發(fā)與實現(xiàn).高等教育出版社,2007年9月.

      [2]陳志泊.數(shù)據(jù)庫原理及應(yīng)用教程.人民郵電出版社,2008年3月.[3]吳碌莉.數(shù)據(jù)庫優(yōu)化設(shè)計方法初探[J].廣西科學(xué)院學(xué)報,2005年2月.

      [4]蔣文沛.SQLServer 2005實用教程。人民郵電出版社,2009年6月.

      猜你喜歡
      語句范式運算
      重視運算與推理,解決數(shù)列求和題
      以寫促讀:構(gòu)建群文閱讀教學(xué)范式
      甘肅教育(2021年10期)2021-11-02 06:14:08
      范式空白:《莫失莫忘》的否定之維
      重點:語句銜接
      有趣的運算
      孫惠芬鄉(xiāng)土寫作批評的六個范式
      管窺西方“詩辯”發(fā)展史的四次范式轉(zhuǎn)換
      精彩語句
      “整式的乘法與因式分解”知識歸納
      撥云去“誤”學(xué)乘除運算
      田阳县| 定安县| 墨脱县| 板桥市| 邢台市| 云安县| 湖南省| 来安县| 土默特左旗| 砚山县| 湟源县| 长岭县| 铜山县| 天津市| 固安县| 囊谦县| 将乐县| 邢台县| 稷山县| 云梦县| 临安市| 湖北省| 永宁县| 济阳县| 黄浦区| 蒙山县| 永嘉县| 方山县| 茶陵县| 拜泉县| 阿拉善盟| 论坛| 阿拉善左旗| 株洲市| 梅河口市| 东光县| 伽师县| 静乐县| 法库县| 北安市| 蒙自县|