Pregunta

¿Cuál es la diferencia entre Vistas y Vistas Materializadas en Oracle?

¿Fue útil?

Solución

Las vistas materializadas se basan en disco y se actualizan periódicamente según la definición de la consulta.

Las vistas son solo virtuales y ejecutan la definición de consulta cada vez que se accede a ellas.

Otros consejos

Puntos de vista

Evalúan los datos en las tablas subyacentes a la definición de vista. en el momento en que se consulta la vista.Es una vista lógica de sus tablas, sin datos almacenados en ningún otro lugar.

La ventaja de una visión es que Siempre te devolveremos los datos más recientes..El La desventaja de una vista es que su rendimiento Depende de qué tan buena sea la declaración de selección en la que se base la vista.Si la instrucción de selección utilizada por la vista combina muchas tablas o utiliza combinaciones basadas en columnas no indexadas, la vista podría tener un rendimiento deficiente.

Vistas materializadas

Son similares a las vistas normales, en el sentido de que son una vista lógica de sus datos (basada en una declaración de selección), sin embargo, la El conjunto de resultados de la consulta subyacente se ha guardado en una tabla..La ventaja de esto es que cuando consulta una vista materializada, estas consultando una tabla, que también puede estar indexado.

Además, debido a que todas las uniones se resolvieron en el momento de la actualización de la vista materializada, usted paga el precio de la unión una vez (o tan seguido como actualiza su vista materializada), en lugar de cada vez que selecciona desde la vista materializada.Además, con la reescritura de consultas habilitada, Oracle puede optimizar una consulta que selecciona del origen de su vista materializada de tal manera que lea desde su vista materializada.En situaciones en las que crea vistas materializadas como formas de tablas agregadas o como copias de consultas ejecutadas con frecuencia, esto puede acelerar enormemente el tiempo de respuesta de su aplicación de usuario final.El Sin embargo, la desventaja es que los datos que obtiene de la vista materializada solo están tan actualizados como la última vez que se actualizó la vista materializada..


Las vistas materializadas se pueden configurar para que se actualicen manualmente, según un cronograma establecido o basado en la base de datos que detecta un cambio en los datos de una de las tablas subyacentes.Las vistas materializadas se pueden actualizar incrementalmente combinándolas con registros de vistas materializadas, que actuar como fuentes de captura de datos de cambios en las tablas subyacentes.

Las vistas materializadas se utilizan con mayor frecuencia en aplicaciones de almacenamiento de datos/inteligencia empresarial donde consultar tablas de hechos grandes con miles de millones de filas daría como resultado tiempos de respuesta de consultas que resultarían en una aplicación inutilizable.


Las vistas materializadas también ayudan a garantizar un momento consistente en el tiempo, similar a aislamiento de instantáneas.

Una vista utiliza una consulta para extraer datos de las tablas subyacentes.

Una vista materializada es una tabla en el disco que contiene el conjunto de resultados de una consulta.

Las vistas materializadas se utilizan principalmente para aumentar el rendimiento de la aplicación cuando no es factible o deseable utilizar una vista estándar con índices aplicados.Las vistas materializadas se pueden actualizar periódicamente, ya sea mediante activadores o utilizando el ON COMMIT REFRESH opción.Esto requiere algunos permisos adicionales, pero no es nada complejo. ON COMMIT REFRESH ha estado vigente desde al menos Oracle 10.

Las vistas son esencialmente estructuras lógicas similares a tablas que se completan sobre la marcha mediante una consulta determinada.Los resultados de una consulta de vista no se almacenan en ningún lugar del disco y la vista se recrea cada vez que se ejecuta la consulta.Las vistas materializadas son estructuras reales almacenadas en la base de datos y escritas en el disco.Se actualizan en función de los parámetros definidos cuando se crean.

Vista materializada - una tabla en un disco que contiene el conjunto de resultados de una consulta

Vista no materializada - una consulta que extrae datos de la tabla subyacente

Vista: La vista es solo una consulta con nombre.No almacena nada.Cuando hay una consulta a la vista, ejecuta la consulta de la definición de la vista.Los datos reales provienen de la tabla.

Vistas materializadas: Almacena datos físicamente y se actualiza periódicamente.Al consultar MV, proporciona datos de MV.

Agregando a la respuesta bastante completa de Mike McAllister...

Las vistas materializadas solo se pueden configurar para que se actualicen automáticamente a través de la base de datos detectando cambios cuando se considera la consulta de visualización simple por el compilador.Si se considera demasiado complejo, no podrá configurar lo que son esencialmente activadores internos para rastrear cambios en las tablas de origen para actualizar solo las filas modificadas en la tabla mview.

Cuando crea una vista materializada, encontrará que Oracle crea tanto la vista mview y como una mesa con el mismo nombre, lo que puede hacer que las cosas sean confusas.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top