分(fēn)享到:

數據庫視圖的使用評估

日(rì)期:2016-10-20 23:17:00     閱讀(dú):563     文章(zhāng)來(lái)源:源美網絡     标簽:深圳網站(zhàn)建設,深圳網站(zhàn)制作(zuò),深圳網頁設計(jì),數據庫視圖

視圖可(kě)以起到簡化應用設計(jì)、提高開發速度的作(zuò)用,因此程序員(yuán)大(dà)多有使用視圖的傾向和意願。這原本沒有問(wèn)題——簡單的視圖定義能屏蔽複雜的數據查詢結構。

然而,我們也應該意識到視圖在提供簡潔數據表述的同時,還(hái)造成了SQL在執行上的複雜化,并且某些極端的視圖甚至可(kě)能會導緻系統在資源使用上的尖峰載荷。一種常見(jiàn)的開發失誤是:程序員(yuán)使用了某定義和視圖,而該視圖又引用了其他(tā)的若幹視圖。如(rú)下圖所示就(jiù)是這樣的結構——在視圖上創建視圖,形成了由多層視圖構成的金字塔結構。

blob.png

多層視圖的結構

Oracle在運行狀态下調用視圖時會将視圖還(hái)原爲SQL語句。顯然,最終可(kě)能會導緻處于頂層的視圖在還(hái)原爲SQL語法後十分(fēn)複雜,其操作(zuò)範圍會涉及若幹表。這對于Oracle來(lái)說(shuō)是個難題——多表參與SQL操作(zuò)提升了SQL複雜度,Oracle優化器并不一定能爲非常複雜的SQL計(jì)算出優化的執行路(lù)徑,因爲優化器不會用幾分(fēn)鍾時間去(qù)設計(jì)成百上千種執行計(jì)劃,然後再選擇最佳的方案執行。

所以,視圖雖好,但(dàn)在初始設計(jì)時,應考慮避免上述的極端情況。



文章(zhāng)引用:

本站(zhàn)文章(zhāng)爲深圳網站(zhàn)建設·源美網絡原創策劃,如(rú)有版權糾紛或者違規問(wèn)題,請(qǐng)聯系我們删除,謝謝!

上一篇: 站(zhàn)外SEO與站(zhàn)内SEO

下一篇: SQL執行效率的預評估

返回列表
最新案例
OUR ADVANTAGE WORKS

售後保障

承諾任何問(wèn)題1小時内解決

數據備份

更安全、更高效、更穩定

價格公道精準

項目經理(lǐ)精準報價不弄虛作(zuò)假

合作(zuò)無風(fēng)險

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