Diferencia entre vista y vista materializada

Ver vs vista materializada

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

                      seleccione * desde nombre de vista

Ver

Como se mencionó anteriormente, la vista es una tabla virtual, que oculta una consulta de selección. Estas consultas de selección no están pre-ejecutadas. Cuando ejecutamos una instrucción de selección desde una vista, ejecuta la instrucción de selección que está dentro del cuerpo de la vista. Asumamos la declaración selecta del cuerpo de la vista como una declaración muy compleja. Entonces, cuando se ejecuta, toma algún tiempo para ejecutarse (relativamente más tiempo). Además, la vista utiliza un espacio muy pequeño para almacenarse. Esto se debe a que solo tiene una declaración de selección como contenido.

Vista materializada (Mview)

Este es un tipo de vista especial. Las mviews se crean cuando tenemos problemas de rendimiento con las vistas. Cuando creamos un mview, ejecuta su consulta de selección y almacena su salida como una tabla de instantáneas. Cuando solicitamos datos a Mview, no es necesario volver a ejecutar su declaración de selección. Da la salida de su tabla de instantáneas. Por lo tanto, el tiempo de ejecución de mview es menor que en la vista (para la misma instrucción de selección). Sin embargo, mviews no se puede usar todo el tiempo, ya que muestra el mismo resultado, que se almacena como una tabla de instantáneas. Debemos 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 una tabla de instantáneas cuando se crea, pero la vista no crea ninguna tabla.

2. La vista no necesita mucho espacio para almacenar su contenido, pero mview necesita un espacio relativamente mayor que una vista para almacenar su contenido (como una tabla de instantáneas). 

3. La vista requiere un tiempo de ejecución mayor, pero mview requiere un tiempo de ejecución menor que las vistas (para la misma instrucción de selección).

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

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

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