Diferencia entre la vista y la vista materializada

Diferencia entre la vista y la vista materializada

Ver vs vista materializada

Las vistas y las vistas materializadas (mviews) son dos tipos de objetos de base de datos Oracle. Ambos objetos se refieren a consultas de selección. Estas consultas selectas actúan como tablas virtuales. Normalmente, las vistas y mvistas se refieren a las grandes consultas selectas, que tienen un conjunto de uniones. Por lo tanto, una de las principales ventajas de vistas es que podemos almacenar consultas selectas complejas como vistas. Por lo tanto, podemos ocultar la lógica detrás de las consultas selectas de sus usuarios finales. Cuando necesitamos ejecutar la instrucción SELECT compleja, solo tenemos que ejecutar

                      Seleccionar * desde el nombre de vista

Vista

Como se mencionó anteriormente, la vista es una tabla virtual, que oculta una consulta selecta. Estas consultas selectas no se ejecutan previamente. Cuando ejecutamos una instrucción SELECT de una vista, ejecuta la instrucción SELECT que está dentro del cuerpo de la vista. Supongamos que la declaración selecta del cuerpo de la vista como una declaración muy compleja. Entonces, cuando se ejecuta, lleva algún tiempo ejecutarse (relativamente más tiempo). Además, View utiliza un espacio muy pequeño para almacenarlo. Eso es porque solo tiene una declaración selecta como contenido.

Vista materializada (mview)

Este es un tipo de vista especial. Mviews se crean cuando tenemos problemas de rendimiento con vistas. Cuando creamos una vista mVEW, ejecuta su consulta de selección y almacena su salida como una tabla de instantáneas. Cuando solicitamos datos de mview, no necesita volver a ejecutar su instrucción SELECT. Da la salida de su tabla de instantáneas. Por lo tanto, el tiempo de ejecución de MVIEW es menor que la vista (para la misma declaración de selección). Sin embargo, las mviews no se pueden usar todo el tiempo, ya que muestra la misma salida, que se almacena como una tabla de instantáneas. Deberíamos actualizar el mview para obtener su último conjunto de resultados.

Cuál es la diferencia entre Ver y mview?

1. Mview siempre almacena su salida como tabla de instantáneas cuando se crea, pero View no crea ninguna tabla.

2. La vista no necesita un gran espacio para almacenar su contenido, pero MVIEW necesita un espacio relativamente más grande que una vista para almacenar su contenido (como una tabla de instantáneas). 

3. La vista lleva un mayor tiempo de ejecución, pero MVIEW toma un tiempo de ejecución más pequeño que las vistas (para la misma declaración de selección).

4. Las mviews deben actualizarse para obtener sus últimos datos, pero las vistas siempre dan sus últimos datos.

5. El esquema necesita "Crear vista materializada" privilegio para crear mvistas, y para las vistas, necesita "Crear vista" privilegio.

6. Los índices se pueden crear en mviews para obtener más rendimiento, pero los índices no se pueden crear en las vistas.