miércoles, 28 de junio de 2017

Creación y mantenimiento de índices en SQL Server



Create Index

Crea índices igual que con el administrador corporativo de SQL Server. Para ejecutar esta instrucción es imprescindible ser el propietario de la tabla. No se pueden crear índices de vistas.

Create Clustered / NonClustered
Index Nombre_Indice0
On Tabla(Columna) Asc / Desc

Para los indices agrupados se utilizará el Prefijo CL_ antes del nombre del indice.

Create Clustered
Index CL_Emp
On Emp(emp_no) asc

Para los indices no agrupados se usará el Prefijo NonCL_ antes del nombre del indice.

Create NonClustered
Index NonCL_Apellido
On Emp(Apellido)


FillFactor

Si no decimos nada, las hojas de indices se llenan completamente cada vez que añadimos sobre la base de datos.
Si una hoja de indice está llena, la hoja de indice se fragmenta.
Fillfactor es una instrucción que nos permite dejar un espacio porcentual en cada página para las posibles inserciones, de esta forma se evitan las fragmentaciones de página y de indices. Solamente se fragmentarán cuando hayamos rellenado el espacio que hayamos puesto con Fillfactor.
Si ponemos Fillfactor, dejamos un 70% de espacio libre en las hojas de indices. 
Valor predeterminado es 0. (Si no se pone nada)
La fragmentación aumenta espacio y además aumentan los saltos entre hojas.

Sintaxis:

Create Clustered
Index CL_Emp
On Emp(emp_no)
With Fillfactor=70


Sp_helpindex Tabla

Dice el nombre del indice, la descripción y la columna a la que está asociado.


Sp_helpindex emp

DBCC SHOWCONTIG (Tabla, NombreIndice)

USE NORTHWIND
GO
DBCC SHOWCONTIG (‘EMP’, PK_Emp)


Páginas examinadas: Número de páginas de la tabla o el índice.
Extensiones examinadas: Número de extensiones de la tabla o el índice.
Modificadores de extensiones: Número de veces que la instrucción DBCC se movió desde una extensión a otra mientras recorría las páginas de la tabla o del índice.
Densidad de examen: Cuanto más cerca esté del 100% mejor será la estructura del indice.
Promedio de bytes libres por página.: Valor promedio de los bytes libres de las páginas examinadas. Cuanto mayor sea este valor, menos páginas llenas hay. Los valores bajos son buenos indicadores.
Promedio de densidad de página. Este valor tiene en cuenta el tamaño de la fila, de forma que es una medida más precisa del grado de ocupación de las páginas.
Cuanto mayor sea el porcentaje, mejor.
Las extensiones son las páginas que se han fragmentado después de crear el indice.

Drop Index

Borra índices

Drop Index Tabla.Nombre_Indice

Drop index Emp.CL_Emp 


Espero haber ayudado en algo. Hasta la próxima oportunidad!












  

No hay comentarios:

Publicar un comentario

       
free counters

Páginas vistas en total según Google