Pivot y Tabla de referencia cruzada
#000012
Índices en vistas SQL Server
#000018
Las vistas permiten guardar una consulta en un objeto en la base de datos para poder acceder a ella a manera de consultas mas rápidamente. Las vistas al crearse guardan el resultado en una estructura no indizada lo que posiblemente al consultar estas el resultado no sea óptimo.
#000019
Después de crear vistar (Ver Vistas) es recomendable crear en esta un índice agrupado como su clave primaria y los índices no agrupados necesarios para realizar las consultas en la vista de manera mas óptima.
#000020
Para crear índices en la vista se utiliza la instrucción Create Index de igual forma que se utilizan en la creación de índices en tablas. (Ver Índices)La vista tiene que estar ligada a un esquema, por lo que al crear la vista debemos incluir la cláusula With SchemaBinding. Note que la crear la vista, si la tabla está en el esquema dbo, debe incluirse el nombre del esquema. Al crear un índice agrupado debe ser único.
#000021
En cada ejercicio se va a crear la vista y luego crear índices para esta.
#000023
Ver la estructura de la vista, puede notarse que no existen índices para esta, lo que hara que las consultas en la vista sean lentas.sp_help vistaProductosListaPreciogo
#000025
Creando el índice agrupado para la vistaCreate unique clustered index vistaProductosListaPrecioIDX onvistaProductosListaPrecio (Código)go
#000026
Ver nuevamente la estructura de la vistasp_help vistaProductosListaPreciogo
#000027
Crear índices para los otros camposCreate index vistaProductosDescripcionIDX onvistaProductosListaPrecio (Descripción)goCreate index vistaProductosDescripcionTodosIDX onvistaProductosListaPrecio (Descripción)include (Precio, Stock)goNote que se ha incluido en este último ejercicio el campo Descripción. Para mayor información Ver Include en Índices
#000028
Creando el índice para la vistaCreate unique clustered index vistaClientesListaCodigoIDX onvistaClientesLista (Código)goÍndices para los otros campos de la vistaCreate index vistaClientesListaNombreIDX onvistaClientesLista (Cliente)goSe puede incluir la cláusula Include para optimizar las consultas en la vistaCreate index vistaClientesListaNombreDireccionContactoIDX onvistaClientesLista (Cliente)Include (Dirección, Contacto)go
#000030
Funciones definidas por el usuario UDF
#000031