Vista vs. visualització materialitzada
Les vistes i les vistes materialitzades (mviews) són dos tipus d'objectes de base de dades d'oracle. Tots dos objectes fan referència a consultes de selecció. Aquestes consultes de selecció actuen com a taules virtuals. Normalment, les visualitzacions i mviews fan referència a consultes seleccionades grans, que tenen un conjunt d'unions. Per tant, un dels principals avantatges de les vistes és que podem emmagatzemar consultes selectes complexes com a vistes. Per tant, podem amagar la lògica darrere de les consultes seleccionades dels seus usuaris finals. Quan necessitem executar la complexa instrucció select, només hem d'executar
seleccionadel nom de visualització
Vista
Com s'ha esmentat abans, la vista és una taula virtual, que amaga una consulta seleccionada. Aquestes consultes de selecció no s'executen prèviament. Quan executem una instrucció select des d'una vista, executa la instrucció select que es troba dins del cos de la vista. Suposem que la declaració select del cos de la vista és una declaració molt complexa. Per tant, quan s'executa, es triga un temps a executar-se (relativament més temps). A més, la vista utilitza un espai molt reduït per emmagatzemar-se. Això es deu al fet que només té una declaració de selecció com a contingut.
Vista materialitzada (Mview)
Aquest és un tipus de vista especial. Les Mviews es creen quan tenim problemes de rendiment amb les visualitzacions. Quan creem una mview, executa la seva consulta de selecció i emmagatzema la seva sortida com a taula d'instantànies. Quan sol·licitem dades a Mview, no cal que torni a executar la seva instrucció select. Proporciona la sortida de la seva taula d'instantànies. Per tant, el temps d'execució de mview és menor que view (per a la mateixa instrucció select). Tanmateix, mviews no es pot utilitzar tot el temps, ja que mostra la mateixa sortida, que s'emmagatzema com a taula d'instantànies. Hauríem d'actualitzar la mview per obtenir el seu darrer conjunt de resultats.
Quina diferència hi ha entre View i Mview?
1. Mview sempre emmagatzema la seva sortida com a taula d'instantànies quan es crea, però View no crea cap taula.
2. La vista no necessita un gran espai per emmagatzemar el seu contingut, però mview necessita un espai relativament més gran que una vista per emmagatzemar el seu contingut (com a taula d'instantànies).
3. La visualització requereix un temps d'execució més gran, però mview triga un temps d'execució més petit que les visualitzacions (per a la mateixa instrucció select).
4. Les Mviews s'han d'actualitzar per obtenir les dades més recents, però les visualitzacions sempre donen les dades més recents.
5. L'esquema necessita el privilegi de "crear vista materialitzada" per crear mviews, i per a les vistes, necessita el privilegi de "crear vista".
6. Es poden crear índexs a les visualitzacions per obtenir més rendiment, però no es poden crear a les visualitzacions.