el desarrollo de bases de datos SQL índice -TSQL- Capítulo IX 2

9.4 índice agrupado y índice no agrupado

9.4.1 concepto de índice agrupado

Los datos de valores clave del índice agrupado se alinean clasificar y almacenar las filas de datos en una tabla o vista. definición de índice contiene un clúster columnas de índice. Cada tabla puede tener un índice agrupado, porque la línea de los datos en sí sólo se pueden almacenar en una secuencia.

Sólo cuando la tabla de índice que comprende filas de datos agregados en la tabla se almacena en orden clasificado. Si la tabla tiene un índice agrupado, la tabla se llama agregación de mesa. Si no hay ninguna tabla índice agrupado, se almacena en las filas de datos aleatorios llamados una estructura de pila.

1 índice agrupado a su propia comprensión

Ordenando índice es un agregado de los datos reales en el disco re-organizada en una o más columnas valor especificado. Al igual diccionario Chino uso que es un índice agrupado, por ejemplo, para comprobar las "hojas", es normal remitirse a la parte posterior del diccionario de cientos de páginas. A continuación, en orden alfabético por ahora para averiguar. Aquí usar algoritmo de árbol binario equilibrado de Microsoft de que la primera vuelta lo largo de aproximadamente la mitad de posición, si se busca el número de página es menor que el número de página de la página, presentado en un cuarto de vuelta al libro, de lo contrario, poner la parte posterior del libro, donde tres cuartos de vuelta, y así sucesivamente, la página continuó en partes más pequeñas, hasta que la página correcta.

A medida que el índice agrupado es ordenar los datos, no puede haber múltiples filas de la ley, por lo que una tabla sólo puede construir un índice agrupado. estadísticas de la ciencia para crear un índice de este tipo necesitaría al menos equivalente al 120% de espacio adicional en la tabla, la tabla utilizada para almacenar una copia del índice y páginas centrales, pero su rendimiento es casi siempre más rápido que otros índices.

Dado que el índice agrupado, los datos son físicamente en secuencia en la página de datos, fila juntos también valores duplicados, y por lo tanto incluye una comprobación de rango (bentween, <,> <=,> =) o grupo por u orden por cuando la consulta, una vez que encontró una llave en la primera fila, será de nuevo juntos, usted no tiene que buscar más, evitar el análisis de una amplia gama de amigos, puede mejorar en gran medida la velocidad de consulta.

 

 

9.4.2 índice no agrupado

Tener un no agrupado fila de índice independiente de la estructura de datos. índice no agrupado comprende una clave de índice no agrupado, y cada tecla tiene un puntero a una líneas de entrada de datos de valor de clave.

Direccional fila de datos a partir de un puntero de fila índice no agrupado llama un localizador de índice de la fila. estructura Locator dependiendo de la fila de datos se almacena en el montón de página o tabla de agregación. Para un montón, un localizador de filas que apunta a la fila de punteros. Para tabla agregada, un localizador de filas agrupadas clave de índice.

1 no agrupado los índices a su propia comprensión - Puntero

índice predeterminado es sqlserver índice no agrupado establecidos en las circunstancias, no reorganizar los datos en la tabla, pero almacenar el índice de cada fila y columna valores utilizando un puntero a la página de datos se encuentra. Él es como el diccionario de chino basado en 'radical' para encontrar el word're buscando, incluso si los datos no está ordenada, pero tiene un directorio como un directorio, comprobar la eficacia del acceso a los datos también tiene margen de mejora, sin la necesidad de una plena recorrido de tabla.

Una tabla puede tener una pluralidad de índice no agrupado, cada índice no agrupado en función del índice de la columna para proporcionar un orden de clasificación diferente.

9.4.3 índice y no agrupados en clúster diferencias de índice y las relaciones

índice agrupado y índice no agrupado

acción Descripción

Utilice índice agrupado 

 Uso de índice no agrupado

 columna de clave externa

 En caso

 En caso

 columna de clave principal

 En caso

 En caso

 Las columnas que con frecuencia está pidiendo paquetes (orden por)

 En caso

 En caso

 Devolver los datos dentro de un cierto rango

 En caso

 No debería ser

 Un pequeño número de valores diferentes

 En caso

 No debería ser

 Un gran número de diferentes valores

 No debería ser

 En caso

 columnas actualizadas con frecuencia

No debería ser 

 En caso

 columna de índice modificado frecuentes

 No debería ser

 En caso

9.4.4 reúnen principios y métodos de indexación

1 en clúster principios de diseño de índice

1.1 Consulta de Notas tiene las siguientes características consultas que utilizan índice agrupado

Utilización de operadores (por ejemplo, entre,>,> =, <y <=) devuelve una lista de valores.

Uso cláusula ORDER BY o GROUP BY. Índice de la columna especificada en la cláusula ORDER BY o GROUP BY, puede hacer que el motor de base de datos no tiene que ordenar los datos, ya que estas filas se han ordenado. Esto puede mejorar el rendimiento de las consultas.

2 Notas de Lie

Columna, el mejor uso de las definiciones clave de índice agrupado de tiempo 2.1. Considere una columna que tiene uno o más de los siguientes atributos:

Sola o contiene muchos valores únicos

Se accede secuencialmente

Se define como la identidad.

A menudo se utiliza en la tabla para ordenar los datos recuperados.

Los cambios frecuentes de columna

2 Crear un índice agrupado

La mejor forma de crear índices en tablas grandes es crear un índice agrupado

1 aplicación por defecto típico

índice agrupado para lograr de la siguiente manera:

Al crear una restricción PRIMARY KEY, índice agrupado si la tabla no existe y no especifica un índice no agrupado único, se creará automáticamente un índice agrupado único en una o más columnas. columna de clave principal no permite valores nulos.

Al crear una restricción UNIQUE, por defecto se crea un índice único no agrupado para hacer cumplir una restricción UNIQUE. Si no existe el índice agrupado de la tabla, puede especificar un índice agrupado único.

3 Limitaciones y restricciones

Después de 1 crear una estructura de índice agrupado, el viejo (fuente) y la nueva estructura de los archivos y grupos de archivos respectivas estructuras (objetivo) requieren espacio en disco. Una vez terminadas las confirmaciones de transacción, que dará a conocer la estructura de edad. Ordenar también requieren espacio adicional en disco temporal. 

2 Si se crea el índice agrupado en la pila tiene una pluralidad de índice no agrupado existente, debe regenerar todo el valor de clave de índice no agrupado para que no contienen identificador de fila agregada (RID). Del mismo modo, si se elimina con una pluralidad de índice no agrupado en clúster tabla de índice, durante el funcionamiento, se regenerará DROP, índice no agrupado. Para tablas grandes, esto puede llevar mucho tiempo.

El método preferido de tres pares de tablas de gran tamaño para crear un índice es crear primero un índice agrupado, y luego crear los índices no agrupados. Cuando se crea un índice en una tabla existente, considere la opción establecida en ON LÍNEA. Si está en ON, no llevará a cabo bloqueos de tabla largo plazo.

4 clave de índice índice agrupado no puede contener columnas que tienen ROW_OVERFLOW_DATA varcharr unidad de asignación de datos existente. Si se crea índice agrupado columna varchar, y hay una unidad de asignación IN_ROW_DATA de datos existente, los datos son empujados para llevar a cabo una columna posterior insertadas o actualizadas en la fila exterior fallará.

Cómo crear un índice agrupado 4

1 SQL Server Management Studio

2 de Transact-SQL

Crear único índice agrupado [ClusteredIndex-20190125-223354] ON [dbo]. [A01_SCSDBInfo]

(

      [IPDeServidor] ASC

)

La única recopilar ÚNICA CLUSTERED

 

Publicado 37 artículos originales · ganado elogios 0 · Vistas 2418

Supongo que te gusta

Origin blog.csdn.net/syjhct/article/details/86669650
Recomendado
Clasificación