下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、基于ORACLE的查詢優(yōu)化、DBMS查詢規(guī)則查詢優(yōu)化是在查詢執(zhí)行引擎生成一個執(zhí)行策略的過程中,盡量使查詢的總開銷和總時間達(dá)到最小任何關(guān)系數(shù)據(jù)庫都有一套解決查詢的規(guī)則, 而各種關(guān)系數(shù)據(jù)庫查詢的過程稍有所區(qū)別,但是基本的操作思想和過程是一致的。DBMS的查詢規(guī)則一般分為基本SQL查詢 語句相關(guān)數(shù)據(jù)的統(tǒng)計信息以下幾個過程:語法分析與翻譯處理;查詢優(yōu)化處理;執(zhí)行語法分卄析與 翻 譯圖1DBMS查詢規(guī)則圖1語法分析與翻譯處理查詢處理開始之前,系統(tǒng)必須在擴展關(guān)系代數(shù)的基礎(chǔ)上將查詢語句翻譯成可 使用的形式,為此這一階段完成兩個主要的功能: 一是檢查查詢語句語法的正確 性;二是把查詢語句分析成關(guān)系數(shù)據(jù)庫能夠理
2、解的各個組成部分,構(gòu)造該查詢的語法分析樹,并將其翻譯成關(guān)系代數(shù)表達(dá)式。2.查詢優(yōu)化處理查詢優(yōu)化是為查詢選擇最有效的查詢執(zhí)行計劃的過程。 查詢優(yōu)化一方面在關(guān) 系代數(shù)級進(jìn)行優(yōu)化, 要做的是力圖找出與給定表達(dá)式等價且執(zhí)行效率最高的一個 表達(dá)式。為了在諸多查詢執(zhí)行計劃中做出選擇, 優(yōu)化器必須估計每個查詢執(zhí)行計 劃的代價。 在沒有真正執(zhí)行查詢計劃之前, 準(zhǔn)確計算出查詢計劃的代價通常是不 可能的。因此,優(yōu)化器要利用各關(guān)系的統(tǒng)計信息,來對計劃做出最佳估計。 3.執(zhí)行執(zhí)行就是將優(yōu)化器所選擇的執(zhí)行計劃執(zhí)行, 執(zhí)行引擎從相應(yīng)的數(shù)據(jù)庫文件中 篩選數(shù)據(jù),將結(jié)果輸出。優(yōu)化器在選取優(yōu)化規(guī)則時,大多數(shù) DBMS( 如 OR
3、ACLE 、 SYBASE、 SQLSERVER 等 )都是采用基于代價的優(yōu)化方法,優(yōu)化器從數(shù)據(jù)字典中獲取許多 統(tǒng)計信息, 根據(jù)不同的算法估計出不同查詢規(guī)劃的代價, 然后選擇一個較優(yōu)的規(guī) 劃。對于 ORACLE ,在 ORACLE7 之前,主要是使 用基于規(guī)則的優(yōu)化器RULEBASEDOPTIMIZATION(簡稱 RBO)。從 ORACLE8 開始,ORACLE 把一 個代價引擎(COSTENGINE)集成到數(shù)據(jù)庫內(nèi)核中,用來估計每個執(zhí)行計劃需要的 代價,該代價將每個執(zhí)行計劃所耗費的資源進(jìn)行量化,從而 CBO 可以根據(jù)這個 代 價 選 擇 出 最 優(yōu) 的 執(zhí) 行 計 劃 , 即 基 于 代
4、價 的 優(yōu) 化 器 COSTBASEDOPTIMIZATION( 簡稱 CBO)。要注意的是:雖然 CBO 的功能隨著 ORACLE 新版本的推出,功能越來越強, 但它不是能包治百病的神藥,否則就不再需要 DBA 了。由于一系列因素都會影響語句的執(zhí)行, 優(yōu)化器綜合權(quán)衡各個因素, 在眾多的 執(zhí)行計劃中選擇認(rèn)為是最佳的執(zhí)行計劃。 然而,應(yīng)用設(shè)計人員通常比優(yōu)化器更知 道關(guān)于特定應(yīng)用的數(shù)據(jù)特點。 無論優(yōu)化器多么智能, 在某些情況下開發(fā)人員能選 擇出比優(yōu)化器選擇的最優(yōu)執(zhí)行計劃還要好的執(zhí)行計劃, 這是需要人工干預(yù)數(shù)據(jù)庫 優(yōu)化的主要原因。事實表明,在某些情況下,確實需要 DBA 對某些語句進(jìn)行手 工優(yōu)化。二
5、 SQL 語句優(yōu)化步驟數(shù)據(jù)庫系統(tǒng)的生命周期可分為設(shè)計、 開發(fā)和成品三個階段。 在這三個階段都 可以提高查詢速度。由于設(shè)計階段進(jìn)行數(shù)據(jù)庫性能優(yōu)化的成本最低,收益最大, 因此在設(shè)計階段就應(yīng)該選擇合理的數(shù)據(jù)庫設(shè)計方法。 而在數(shù)據(jù)庫系統(tǒng)的開發(fā)和成 品階段則需對應(yīng)用程序進(jìn)行優(yōu)化:通常應(yīng)用程序可分為兩個方面源代碼和 SQL 語句。源代碼的優(yōu)化由于涉及程序邏輯的改變,因此優(yōu)化源代碼要在時間 成本和風(fēng)險成本上投入較高代價,因此對 SQL 語句的優(yōu)化尤為重要 3 。調(diào)整現(xiàn)有應(yīng)用程序中 SQL 語句的最好方法是采取下列步驟 4:1. 熟悉應(yīng)用程序。管理員不僅需要熟悉特定的SQL 語句,還需要熟悉應(yīng)用程序的功能和所
6、做的操作。2使用SQLTRACE工具分析特定SQL語句執(zhí)行的操作,所使用的RDBMS的功 能和應(yīng)用程序?qū)@些功能的使用情況。3.在SQLTRACE中使用EXPLAINPLAN命令分析優(yōu)化器執(zhí)行這些SQL語句的方 式。下面具體的介紹一下三個步驟:1.熟悉應(yīng)用程序管理員不僅需要了解 SQL 語句,還需要了解這些 SQL 語句的執(zhí)行效果。首 先,需要將不同的 SQL 語句形成表格并確定每條 SQL 語句對數(shù)據(jù)庫中每個表的 訪問次數(shù)。這個表以可視化方式告訴管理員用戶對數(shù)據(jù)庫中哪些表的訪問最為頻 繁。這個表為管理員確定哪些 SQL 語句影響了哪些表提供了一個很好的快速參 考。管理員還可進(jìn)一步深化這種方法
7、, 并將該表中的 SQL 語句分成不問的類型, 比女口 SELECT語句、INSERT語句、UPDATE語句和DELETE語句等等。如果應(yīng) 用程序是在脫離實際應(yīng)用背景的情況下開發(fā)的,那么這種方法可能是不現(xiàn)實的。2. 使用 SQLTRACE 分析 SQL 語句通過在 SQL 語句上執(zhí)行 SQLTRACE 工具,管理員可收集到與所有 SQL 語 句執(zhí)行操作有關(guān)的大量極具價值的信息。 SQLTRACE 提供了如下一些非常有價 值的信息:(1)解析、執(zhí)行和返回數(shù)據(jù)的次數(shù)(2)CPU 時間和執(zhí)行時間(3)物理讀和邏輯讀操作次數(shù)(4)處理的記錄數(shù)量(5)庫緩沖區(qū)錯誤次數(shù)管理員可用這些信息確定哪些 SQL語句效率較高,哪E些SQL語句效率較低。 這些信息可能會為管理員指出調(diào)整 SQL 語句的方向。為提高效率,可能不得不 修改這些 SQL 語句。通過使用 EXPLAINPLAN 命令,管理員可能會發(fā)現(xiàn)從其他 方面提高 SQL 語句效率的方法。3. 使用 EXPLAINPLAN 命令分析 SQL 語句通過將EXPLAINPLAN命令的執(zhí)行結(jié)果作為SQLTRACE報表的一部分,管 理員可獲得關(guān)于 ORACLE 如何執(zhí)行 SQL 語句的更為詳細(xì)的信息。通過EXPLAINPLAN 命令獲得的信息 (以及通過 SQLTRACE 獲得的信息 )能幫助管理 員判斷 SQL 語句的執(zhí)行效率。
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度扶貧資金管理及使用專項合同3篇
- 2025年度智能廣告創(chuàng)意制作與推廣服務(wù)合同4篇
- 2024鋪位出租合同-親子樂園鋪位租賃管理協(xié)議3篇
- 2025年度石材加工與大理石施工一體化工程合同4篇
- 2025年度土地整治與修復(fù)項目租賃合同4篇
- 2025年度智能生產(chǎn)線承包運營服務(wù)合同4篇
- 2024版貨車租賃合規(guī)性及責(zé)任明確合同版B版
- 2025年度水電安裝工程智能化施工技術(shù)與保修服務(wù)合同3篇
- 2025年度智能物流配套廠房建設(shè)合同范本4篇
- 2025年度智能家居瓷磚批發(fā)代理銷售合同3篇
- 使用錯誤評估報告(可用性工程)模版
- 公司章程(二個股東模板)
- GB/T 19889.7-2005聲學(xué)建筑和建筑構(gòu)件隔聲測量第7部分:樓板撞擊聲隔聲的現(xiàn)場測量
- 世界奧林匹克數(shù)學(xué)競賽6年級試題
- 藥用植物學(xué)-課件
- 文化差異與跨文化交際課件(完整版)
- 國貨彩瞳美妝化消費趨勢洞察報告
- 云南省就業(yè)創(chuàng)業(yè)失業(yè)登記申請表
- UL_標(biāo)準(zhǔn)(1026)家用電器中文版本
- 國網(wǎng)三個項目部標(biāo)準(zhǔn)化手冊(課堂PPT)
- 快速了解陌生行業(yè)的方法論及示例PPT課件
評論
0/150
提交評論