utilizados uso usar una tipos tabla los indice estadisticas ejemplos consultar compuesto como sql sql-server indexing views indexed-view

uso - tipos de indices sql server



¿Cómo funcionan los índices en las vistas? (3)

¿Puede alguien explicarme en inglés simple cómo funciona un índice en una vista? Tengo una comprensión bastante simple de los índices en las tablas; ¿Cómo funcionaría la indexación de una vista de manera diferente a dejar que los índices en las tablas subyacentes hagan su trabajo de forma natural?


Consulte http://msdn.microsoft.com/en-us/library/aa258260(SQL.80).aspx

La creación de un índice agrupado único en una vista mejora el rendimiento de la consulta porque la vista se almacena en la base de datos de la misma manera que se almacena una tabla con un índice agrupado.

La vista se transforma de una vista adecuada en una tabla. La definición de vista se usa para actualizar esta tabla.

Oracle llama a estas "vistas materializadas".


Digamos que tienes una vista que limita la tabla a ciertas filas:

create view dbo.vw_HotProducts as select * from dbo.Products where Hot = 1

Ahora, si crea un índice en esta vista, el índice solo contiene productos actuales. Puede compararlo con el almacenamiento del resultado de la vista en una tabla temporal. Esto puede ser muy útil para consultas complicadas con múltiples uniones; Básicamente, su salida se almacena en caché.

La gran desventaja de las vistas indexadas es que se recrean cada vez que cambian los datos de la tabla subyacente. Eso restringe el uso de vistas indizadas a datos que no cambian con frecuencia, generalmente en un entorno de almacenamiento de datos o inteligencia empresarial.


Una vista por sí misma no es real o "persistente", y no tiene ningún beneficio de rendimiento. Es simplemente una macro que está expandida.

Agregue un índice y exista físicamente (persistido), por lo que el optimizador considerará su uso. No es una macro entonces.

Estoy seguro de que Oracle los llama "vistas materializadas", que es un nombre mejor.

Un FYI relacionado: una columna calculada tiene una opción PERSISTED que hace lo mismo ...