我們專(zhuān)注於高端品牌網(wǎng)站創(chuàng)意設(shè)計(jì)與開(kāi)發(fā)
視圖可以起到簡(jiǎn)化應(yīng)用設(shè)計(jì)、提高開(kāi)發(fā)速度的作用,因此程式設(shè)計(jì)師大多有使用視圖的傾向和意願。這原本沒有問(wèn)題——簡(jiǎn)單的視圖定義能屏蔽複雜的數(shù)據(jù)查詢結(jié)構(gòu)。
然而,我們也應(yīng)該意識到視圖在提供簡(jiǎn)潔數(shù)據(jù)表述的同時(shí),還造成了SQL在執(zhí)行上的複雜化,並且某些極端的視圖甚至可能會(huì)導(dǎo)致系統(tǒng)在資源使用上的尖峰載荷。一種常見(jiàn)的開(kāi)發(fā)失誤是:程式設(shè)計(jì)師使用了某定義和視圖,而該視圖又引用了其他的若干視圖。如下圖所示就是這樣的結(jié)構(gòu)——在視圖上創(chuàng)建視圖,形成了由多層視圖構(gòu)成的金字塔結(jié)構(gòu)。
多層視圖的結(jié)構(gòu)
Oracle在運(yùn)行狀態(tài)下調(diào)用視圖時(shí)會(huì)將視圖還原為SQL語句。顯然,最終可能會(huì)導(dǎo)致處於頂層的視圖在還原為SQL語法後十分複雜,其操作範圍會(huì)涉及若干表。這對(duì)於Oracle來(lái)說(shuō)是個(gè)難題——多表參與SQL操作提升了SQL複雜度,Oracle優(yōu)化器並不一定能為非常複雜的SQL計(jì)算出優(yōu)化的執(zhí)行路徑,因為優(yōu)化器不會(huì)用幾分鐘時(shí)間去設(shè)計(jì)成百上千種執(zhí)行計(jì)劃(huà),然後再選擇最佳的方案執(zhí)行。
所以,視圖雖好,但在初始設(shè)計(jì)時(shí),應(yīng)考慮避免上述的極端情況。
文章引用:http://www.szymweb.com/new/132.html
本站文章為深圳網(wǎng)站建設(shè)·源美網(wǎng)絡(luò)原創(chuàng)策劃(huà),如有版權(quán)糾紛或者違規(guī)問(wèn)題,請聯(lián)繫我們刪除,謝謝!
上一篇: 站外SEO與站內(nèi)SEO
售後保障
承諾任何問(wèn)題1小時(shí)內(nèi)解決數(shù)據(jù)備份
更安全、更高效、更穩(wěn)定價(jià)格公道精準(zhǔn)
項(xiàng)目經(jīng)理精準(zhǔn)報(bào)價(jià)不弄虛作假合作無(wú)風(fēng)險(xiǎn)
重合同講信譽(yù),無(wú)效全額退款