Oracle中怎么優(yōu)化復(fù)雜視圖,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無(wú)策,為此本文總結(jié)了問(wèn)題出現(xiàn)的原因和解決方法,通過(guò)這篇文章希望你能解決這個(gè)問(wèn)題。
成都網(wǎng)站建設(shè)、做網(wǎng)站的開發(fā),更需要了解用戶,從用戶角度來(lái)建設(shè)網(wǎng)站,獲得較好的用戶體驗(yàn)。成都創(chuàng)新互聯(lián)公司多年互聯(lián)網(wǎng)經(jīng)驗(yàn),見的多,溝通容易、能幫助客戶提出的運(yùn)營(yíng)建議。作為成都一家網(wǎng)絡(luò)公司,打造的就是網(wǎng)站建設(shè)產(chǎn)品直銷的概念。選擇成都創(chuàng)新互聯(lián)公司,不只是建站,我們把建站作為產(chǎn)品,不斷的更新、完善,讓每位來(lái)訪用戶感受到浩方產(chǎn)品的價(jià)值服務(wù)。
優(yōu)化方法
如果可以將這類視圖中常用的謂詞條件直接寫入視圖內(nèi),且寫成動(dòng)態(tài)的,同時(shí)將常用查詢列按選擇性由大至小創(chuàng)建組合索引,則優(yōu)化器可以盡可能地使用索引直接獲取數(shù)據(jù),再進(jìn)行過(guò)濾計(jì)算等操作,以此達(dá)到優(yōu)化目的。具體操作步驟如下:
(1)創(chuàng)建一個(gè)輔助包,并創(chuàng)建兩個(gè)函數(shù),實(shí)際情況中若同時(shí)傳入多個(gè)條件可自行擴(kuò)充包中方法,每一個(gè)條件需要增加兩個(gè)方法。
(2)修改視圖定義,將謂詞條件寫入至基表?xiàng)l件中,并重新編譯視圖。
性能對(duì)比
下面通過(guò)具體的例子來(lái)說(shuō)明如何對(duì)復(fù)雜視圖進(jìn)行優(yōu)化。
通過(guò)將原視圖和優(yōu)化后視圖進(jìn)行對(duì)比,看出優(yōu)化后視圖的執(zhí)行計(jì)劃成本由349降到86,優(yōu)化效果非常明顯。表中紅框部分內(nèi)容需特別引起注意。
優(yōu)化前視圖查詢的執(zhí)行計(jì)劃是全表掃描,執(zhí)行效率低下。優(yōu)化后視圖查詢的執(zhí)行計(jì)劃是索引范圍掃描。通過(guò)索引直接取出需要訪問(wèn)的數(shù)據(jù),再進(jìn)行后續(xù)處理,性能較優(yōu)化前有大幅提升。
需要指出的是,該方法只在訪問(wèn)視圖中少量數(shù)據(jù)時(shí)效果明顯,如果訪問(wèn)數(shù)據(jù)量大,該方法不適用。
表4.1 優(yōu)化前視圖定義、查詢語(yǔ)句及執(zhí)行計(jì)劃
表4.2 優(yōu)化后視圖定義、查詢語(yǔ)句及執(zhí)行計(jì)劃
通過(guò)以上分析對(duì)比可以清晰地看出,優(yōu)化后的視圖可以使用索引且性能有了顯著提高。總結(jié)起來(lái),對(duì)于復(fù)雜查詢優(yōu)化思路應(yīng)該是:如果視圖中訪問(wèn)的是少量數(shù)據(jù),則盡可能通過(guò)索引先取出需要處理的數(shù)據(jù),然后再進(jìn)行后續(xù)處理。此方法適用的前提是,復(fù)雜視圖使用各種常規(guī)優(yōu)化方法(如增加索引,添加提示符等)都無(wú)效時(shí)。
但是,這一方法也有一定弊端,那就是與其它優(yōu)化方法相比,此法需要做的前期工作較多,如建立輔助包,對(duì)原視圖進(jìn)行修改和重新編譯。另外還需測(cè)試優(yōu)化前后查詢結(jié)果是否一致,查詢前需調(diào)用輔助包,將查詢條件傳入視圖中,不過(guò)優(yōu)化后的視圖是不需要加查詢條件的。
看完上述內(nèi)容,你們掌握Oracle中怎么優(yōu)化復(fù)雜視圖的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!
網(wǎng)站欄目:Oracle中怎么優(yōu)化復(fù)雜視圖
當(dāng)前URL:http://chinadenli.net/article18/giopgp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、全網(wǎng)營(yíng)銷推廣、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站制作、面包屑導(dǎo)航、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)