Vista frente a vista materializada
Las vistas y las vistas materializadas (mviews) son dos tipos de objetos de base de datos Oracle. Ambos objetos hacen referencia 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 declaración de selección compleja, solo tenemos que ejecutar
seleccionardel nombre de vista
Ver
Como se mencionó antes, la vista es una tabla virtual que oculta una consulta de selección. Estas consultas de selección no se ejecutan previamente. Cuando ejecutamos una declaración de selección desde una vista, ejecuta la declaración de selección que está dentro del cuerpo de la vista. Supongamos que la sentencia select del cuerpo de la vista es una sentencia muy compleja. Entonces, cuando se ejecuta, lleva algún tiempo ejecutarlo (relativamente más tiempo). Además, la vista utiliza un espacio muy pequeño para almacenarse. Esto se debe a que solo tiene una instrucción de selección como contenido.
Vista materializada (Mview)
Esta es una 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 de Mview, no necesita 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 el de view (para la misma declaració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. Deberíamos actualizar mview para obtener su último conjunto de resultados.
¿Cuál es la diferencia entre View y Mview?
1. Mview siempre almacena su salida como una tabla instantánea cuando se crea, pero la vista no crea ninguna tabla.
2. La vista no necesita un gran 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 declaración de selección).
4. Mviews debe actualizarse para obtener los datos más recientes, pero las vistas siempre proporcionan los datos más recientes.
5. El esquema necesita el privilegio de "crear vista materializada" para crear mviews y, para las vistas, necesita el privilegio de "crear vista".
6. Se pueden crear índices en mviews para obtener más rendimiento, pero no se pueden crear índices en vistas.