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álasztott lekérdezésekre utal. Ezek a kiválasztott lekérdezések virtuális táblákként működnek. Normál esetben a nézetek és az mview-k nagy kiválasztott lekérdezésekre utalnak, amelyek összekapcsolódásokkal rendelkeznek. Ezért a nézetek egyik fő előnye, hogy összetett, kiválasztott lekérdezéseket tárolhatunk nézetekként. Ezért elrejthetjük a logikát a kiválasztott lekérdezések mögött a végfelhasználók elől. Amikor a komplex select utasítást kell végrehajtanunk, akkor csak végre kell hajtanunk
válassza a * lehetőséget a nézet nevéből
Kilátás
Mint korábban említettük, a view egy virtuális tábla, amely egy kiválasztott lekérdezést rejt. Ezek a kiválasztott lekérdezések nincsenek előre végrehajtva. Amikor egy kiválasztott utasítást végrehajtunk egy nézetből, akkor a nézet törzsében lévő select utasítást hajtja végre. Tegyük fel, hogy a nézettest kiválasztott állítása nagyon összetett állítás. Tehát amikor végrehajtják, a végrehajtása némi időt vesz igénybe (viszonylag több idő). Ezenkívül a nézet nagyon kis helyet foglal el saját tárolására. Ennek az az oka, hogy csak kiválasztott utasítás van a tartalmában.
Materializált nézet (Mview)
Ez egy speciális nézettípus. A nézetek akkor jönnek létre, amikor a nézetekkel kapcsolatos teljesítményproblémáink vannak. Amikor létrehozunk egy mview-t, végrehajtja a kiválasztott lekérdezést, és kimenetét pillanatkép-táblaként tárolja. Amikor adatokat kérünk az Mview-tól, akkor nem kell újból végrehajtania a select utasítását. Megadja a pillanatkép táblázat kimenetét. Ezért az mview végrehajtási ideje rövidebb, mint a view (ugyanazon select utasításhoz). Az mviews azonban nem használható folyamatosan, mivel ugyanazt a kimenetet mutatja, amelyet pillanatkép-táblaként tárolnak. 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 létrehozásakor mindig pillanatképként tárolja a kimenetét, de a nézet nem hoz létre táblákat. 2. A nézetnek nincs szüksége nagy területre a tartalma tárolásához, de az mview-nak viszonylag nagyobb helyre van szüksége, mint a nézetnek a tartalma tárolásához (pillanatkép-táblázatoként). 3. A nézet nagyobb végrehajtási időt vesz igénybe, de az mview kisebb végrehajtási időt vesz igénybe, mint a nézetek (ugyanarra a kijelölt utasításra). 4. A nézeteket frissíteni kell a legfrissebb adatok megszerzéséhez, de a nézetek mindig a legfrissebb adatokat adják meg. 5. A sémának „materializált nézet létrehozása” jogosultságra van szüksége az mview-ok létrehozásához, a nézetekhez pedig „view create” jogosultságra van szükség. 6. A nagyobb teljesítmény érdekében indexeket lehet létrehozni az mview-okon, de a nézetekre nem lehet indexeket létrehozni. |