Nézet vs materializált nézet
A nézetek és a materializált nézetek (mviews) az Oracle adatbázis-objektumok két típusa. Mindkét objektum kiválasztási lekérdezésekre hivatkozik. Ezek a kiválasztott lekérdezések virtuális táblákként működnek. Általában a nézetek és az mview-k nagy kiválasztási lekérdezésekre vonatkoznak, amelyekhez csatlakozási készlet tartozik. Ezért a nézetek egyik fő előnye, hogy összetett kiválasztási lekérdezéseket nézetként tárolhatunk. Így elrejthetjük a kiválasztott lekérdezések mögötti logikát a végfelhasználók elől. Amikor végre kell hajtanunk az összetett select utasítást, csak a parancsot kell végrehajtanunk.
választása nézetnévből
Megtekintés
Amint korábban említettük, a nézet egy virtuális tábla, amely elrejti a kiválasztási lekérdezést. Ezek a kiválasztási lekérdezések nincsenek előre végrehajtva. Amikor egy nézetből végrehajtunk egy select utasítást, akkor az végrehajtja a nézet törzsében található select utasítást. Tegyük fel, hogy a nézettest select utasítása egy nagyon összetett utasítás. Tehát amikor végrehajtják, akkor a végrehajtása némi időt vesz igénybe (relatíve több idő). Ezenkívül a nézet nagyon kis helyet foglal el a tárolására. Ennek az az oka, hogy csak egy select utasítás van a tartalma.
Materializált nézet (Mview)
Ez egy speciális nézettípus. Az Mview-k akkor jönnek létre, ha teljesítménybeli problémáink vannak a nézetekkel. Amikor létrehozunk egy mview-t, az végrehajtja a kiválasztási lekérdezést, és a kimenetét pillanatkép-táblaként tárolja. Amikor adatokat kérünk az Mview-tól, nem kell újra végrehajtania a select utasítást. Megadja a kimenetet a pillanatkép-táblázatából. Ezért az mview végrehajtási ideje rövidebb, mint a view (ugyanazon select utasítás esetén). Az mviews azonban nem használható folyamatosan, mivel ugyanazt a kimenetet mutatja, amelyet pillanatkép-táblaként tárol. Frissítenünk kell az mview-t, hogy megkapjuk a legújabb eredménykészletet.
Mi a különbség a View és az Mview között?
1. Az Mview a kimenetét mindig pillanatkép-táblaként tárolja a létrehozáskor, de a nézet nem hoz létre táblákat.
2. A View nem igényel nagy helyet a tartalmának tárolásához, de az mview-nak viszonylag nagyobb területre van szüksége, mint a nézetnek a tartalom tárolására (pillanatkép-táblázatként).
3. A nézet hosszabb végrehajtási időt vesz igénybe, de az mview rövidebb végrehajtási időt vesz igénybe, mint a nézet (ugyanaz a select utasítás esetén).
4. Az Mview-t frissíteni kell a legfrissebb adatok eléréséhez, de a nézetek mindig a legfrissebb adatokat jelenítik meg.
5. A sémának „materializált nézet létrehozása” jogosultságra van szüksége az mnézetek létrehozásához, a nézetekhez pedig „nézet létrehozása” jogosultságra.
6. Indexek hozhatók létre mview-kon a nagyobb teljesítmény érdekében, de indexek nem hozhatók létre nézeteken.