數(shù)據(jù)庫查詢優(yōu)化規(guī)劃_第1頁
數(shù)據(jù)庫查詢優(yōu)化規(guī)劃_第2頁
數(shù)據(jù)庫查詢優(yōu)化規(guī)劃_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

數(shù)據(jù)庫查詢優(yōu)化規(guī)劃

摘要:數(shù)據(jù)庫系統(tǒng)是管理信息系統(tǒng)的核心,是銀行、企業(yè)、政府等眾多部門最為重要的應(yīng)用。而應(yīng)用當(dāng)中,查詢操作是重中之重,并且查詢操作往往需要花費(fèi)時(shí)間和空間等資源。所以它的效率高低就很大程度上決定了數(shù)據(jù)庫的在整體效率,同時(shí)也決定了系統(tǒng)的效率。本文重點(diǎn)圍繞數(shù)據(jù)庫的查詢優(yōu)化從需求分析、設(shè)計(jì)到使用等多方面提出了技術(shù)改進(jìn)和利用。關(guān)鍵詞:數(shù)據(jù)庫;優(yōu)化;規(guī)范;查詢Abstract:Thedatabasesystemisthecoreofmanagementinformationsystems,andalsothemostimportantapplicationsinmanydepartmentssuchasbanks,enterprises,governmentandsoon.Withintheapplication,thequeryoperationisthemostimportantanditrequirestime,spaceandotherresources.Soitsefficiencywilllargelydeterminetheoverallefficiencyofthedatabaseandtheefficiencyofthesystem.Thisarticlefocusesonthedatabasequeryoptimizationandintroducessometechnologicalimprovementsandemploymentofitsdemandanalysis,designandusage.Keywords:Database;Optimization;Specification;Query隨著數(shù)據(jù)庫技術(shù)的發(fā)展,越來越多的數(shù)據(jù)庫應(yīng)用系統(tǒng)和信息管理系統(tǒng)被開發(fā)、使用。而很多數(shù)據(jù)庫應(yīng)用系統(tǒng)和信息管理系統(tǒng)中,查詢功能的要求是必不可少的,也是所占的比例最大的。數(shù)據(jù)庫的查詢功能優(yōu)化規(guī)劃好的話,整個(gè)系統(tǒng)的效率會(huì)有很大的提高,由此可見查詢優(yōu)化規(guī)劃的重要性。要想整個(gè)數(shù)據(jù)庫的查詢得到很大程度的優(yōu)化,就必須要從需求、設(shè)計(jì)到使用都要進(jìn)行規(guī)劃和技術(shù)改進(jìn)。一、詳細(xì)的需求分析是優(yōu)化的基礎(chǔ)數(shù)據(jù)庫設(shè)計(jì)是從系統(tǒng)的需求出發(fā),結(jié)合軟硬件相關(guān)要求,設(shè)計(jì)合理能否符合系統(tǒng)需要功能的數(shù)據(jù)的集合。數(shù)據(jù)庫設(shè)計(jì)中最基本的是數(shù)據(jù)庫模式的設(shè)計(jì)。但是,設(shè)計(jì)一個(gè)完善的比較優(yōu)秀的數(shù)據(jù)庫系統(tǒng)往往是一個(gè)反復(fù)且周期性的過程。二利用規(guī)范化是優(yōu)化的關(guān)鍵在數(shù)據(jù)庫的設(shè)計(jì)周期中,需要進(jìn)行邏輯結(jié)構(gòu)設(shè)計(jì),這個(gè)時(shí)候必須進(jìn)行關(guān)系模式的規(guī)范化來達(dá)到優(yōu)化數(shù)據(jù)庫的目的。所謂關(guān)系規(guī)范化就是按統(tǒng)一標(biāo)準(zhǔn)對(duì)關(guān)系進(jìn)行優(yōu)化,從而最大程度上能消除關(guān)系數(shù)據(jù)庫中的數(shù)據(jù)冗余、添加、刪除和修改等操作異常以提高關(guān)系的質(zhì)量,不好的關(guān)系操作時(shí)會(huì)有3個(gè)問題:1.冗余度大;2.插入異常;3.刪除異常。規(guī)范化理論認(rèn)為,關(guān)系中的各屬性是相互關(guān)聯(lián)的,他們互相依賴、互相制約,構(gòu)成一個(gè)結(jié)構(gòu)嚴(yán)謹(jǐn)?shù)恼w。按照屬性間相關(guān)的關(guān)系,可大概分類為函數(shù)依賴、多值依賴和連接依賴。其中按照函數(shù)依賴又可分為部分依賴、完全依賴和傳遞依賴,根據(jù)這三類函數(shù)依賴等可得到規(guī)范化等級(jí)主要有5種,即第1范式(1NF),第2范式(2NF),第3范式(3NF),BC范式(BCNF)和第4范式(4NF),滿足這些范式條件的關(guān)系模式可在不同程度上避免冗余、插入和更新異常問題。那么如何進(jìn)行規(guī)范化呢?具體做法是:確定數(shù)據(jù)依賴,按照數(shù)據(jù)依賴的理論,逐一分析這組關(guān)系模式,確定他們屬于第幾范式,進(jìn)行模式分解,逐步消除非主屬性對(duì)碼的部分依賴和傳遞依賴。在分解過程當(dāng)中必須遵守以下2條原則:1.無損分解原則無損分解就是在關(guān)系分解過程中,既不丟失數(shù)據(jù)也不增加數(shù)據(jù),同時(shí)還能保持原有的函數(shù)依賴。2.相互獨(dú)立原則所謂獨(dú)立是指分解后的新關(guān)系之間相互獨(dú)立,對(duì)一個(gè)關(guān)系內(nèi)容的修改不應(yīng)該影響到另一關(guān)系。三、規(guī)范化的收尾工作關(guān)系分解必須從實(shí)際出發(fā),并不是范式等級(jí)越高,分解得越細(xì)就越好。若把關(guān)系分解得過于瑣碎,雖然對(duì)于消除數(shù)據(jù)冗余和更新異常等有好處,但在進(jìn)行查詢操作時(shí)往往又需要進(jìn)行鏈接,降低查詢效率。相反的若是范式等級(jí)太低,雖有利于查詢,但會(huì)造成相關(guān)數(shù)據(jù)冗余、更新異常等情況。因此我們應(yīng)該根據(jù)實(shí)際應(yīng)用進(jìn)行相關(guān)范式的設(shè)計(jì)。(四)查詢使用中的優(yōu)化技術(shù)應(yīng)用項(xiàng)目的實(shí)施中,許多程序員在利用一些前端數(shù)據(jù)庫開發(fā)工具開發(fā)數(shù)據(jù)庫應(yīng)用程序時(shí),只注重用戶界面的華麗,并不重視查詢語句的效率問題,導(dǎo)致所開發(fā)出來的應(yīng)用系統(tǒng)效率低下,資源浪費(fèi)嚴(yán)重。因此,如何設(shè)計(jì)高效合理的查詢語句就顯得非常重要。實(shí)際應(yīng)用中許多程序員認(rèn)為查詢優(yōu)化是DBMS的任務(wù),與程序員所編寫的SQL語句關(guān)系不大,這是錯(cuò)誤的。一個(gè)好的查詢計(jì)劃往往可以使程序性能提高數(shù)十倍。查詢計(jì)劃是用戶所提交的SQL語句的集合,查詢規(guī)劃是經(jīng)過優(yōu)化處理之后所產(chǎn)生的語句集合。在實(shí)際的數(shù)據(jù)庫產(chǎn)品的高版本中都是采用基于代價(jià)的優(yōu)化方法,這種優(yōu)化能根據(jù)從系統(tǒng)字典表所得到的信息來估計(jì)不同的查詢規(guī)劃的代價(jià),然后選擇一個(gè)較優(yōu)的規(guī)劃。雖然現(xiàn)在的數(shù)據(jù)庫產(chǎn)品在查詢優(yōu)化方面已經(jīng)做得越來越好,但由用戶提交的SQL語句是系統(tǒng)優(yōu)化的基礎(chǔ),很難設(shè)想一個(gè)原本糟糕的查詢計(jì)劃經(jīng)過系統(tǒng)的優(yōu)化之后會(huì)變得高效,因此用戶所寫語句的優(yōu)劣至關(guān)重要。下面重點(diǎn)說明改善用戶查詢計(jì)劃的常用解決方案。1.合理使用索引索引是數(shù)據(jù)庫中重要的數(shù)據(jù)結(jié)構(gòu),它的根本目的就是為了提高查詢效率。現(xiàn)在大多數(shù)的數(shù)據(jù)庫產(chǎn)品都采用IBM最先提出的ISAM索引結(jié)構(gòu)。索引的使用要恰到好處,其使用原則如下:●在經(jīng)常進(jìn)行連接,但是沒有指定為外鍵的列上建立索引,而不經(jīng)常連接的字段則由優(yōu)化器自動(dòng)生成索引?!裨陬l繁進(jìn)行排序或分組的列上建立索引?!裨跅l件表達(dá)式中經(jīng)常用到的不同值較多的列上

溫馨提示

  • 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. 人人文庫網(wǎng)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論