汉中舜倭家庭服务有限公司

分享到:

數(shù)據(jù)庫視圖的使用評估

日期:2016-10-20 23:17:00     閱讀:572     文章來源:源美網(wǎng)絡     標簽:深圳網(wǎng)站建設,深圳網(wǎng)站制作,深圳網(wǎng)頁設計,數(shù)據(jù)庫視圖

視圖可以起到簡化應用設計、提高開發(fā)速度的作用,因此程序員大多有使用視圖的傾向和意愿。這原本沒有問題——簡單的視圖定義能屏蔽復雜的數(shù)據(jù)查詢結(jié)構(gòu)。

然而,我們也應該意識到視圖在提供簡潔數(shù)據(jù)表述的同時,還造成了SQL在執(zhí)行上的復雜化,并且某些極端的視圖甚至可能會導致系統(tǒng)在資源使用上的尖峰載荷。一種常見的開發(fā)失誤是:程序員使用了某定義和視圖,而該視圖又引用了其他的若干視圖。如下圖所示就是這樣的結(jié)構(gòu)——在視圖上創(chuàng)建視圖,形成了由多層視圖構(gòu)成的金字塔結(jié)構(gòu)。

blob.png

多層視圖的結(jié)構(gòu)

Oracle在運行狀態(tài)下調(diào)用視圖時會將視圖還原為SQL語句。顯然,最終可能會導致處于頂層的視圖在還原為SQL語法后十分復雜,其操作范圍會涉及若干表。這對于Oracle來說是個難題——多表參與SQL操作提升了SQL復雜度,Oracle優(yōu)化器并不一定能為非常復雜的SQL計算出優(yōu)化的執(zhí)行路徑,因為優(yōu)化器不會用幾分鐘時間去設計成百上千種執(zhí)行計劃,然后再選擇最佳的方案執(zhí)行。

所以,視圖雖好,但在初始設計時,應考慮避免上述的極端情況。



文章引用:http://www.xhjcyz.com/new/132.html

本站文章為深圳網(wǎng)站建設·源美網(wǎng)絡原創(chuàng)策劃,如有版權(quán)糾紛或者違規(guī)問題,請聯(lián)系我們刪除,謝謝!

上一篇: 站外SEO與站內(nèi)SEO

下一篇: SQL執(zhí)行效率的預評估

返回列表
最新案例
OUR ADVANTAGE WORKS

售后保障

承諾任何問題1小時內(nèi)解決

數(shù)據(jù)備份

更安全、更高效、更穩(wěn)定

價格公道精準

項目經(jīng)理精準報價不弄虛作假

合作無風險

重合同講信譽,無效全額退款