¿Qué es un índice de tabla? ¿Cuántos tipos de índices existen? ¿Cuál es la diferencia entre los dos?
Índice: Es el método interno de SQL Server para organizar los datos. Proporciona a SQL Server una forma de organizar los datos de la consulta.
Página de índice: la página de datos que almacena índices en la base de datos; la página de índice es similar a la página de directorio ordenada por pinyin o trazos en el diccionario chino.
La función del índice: al utilizar el índice, la velocidad de recuperación de la base de datos se puede mejorar enormemente y el rendimiento de la base de datos se puede mejorar.
* * *Hay cuatro tipos:
Índice único: Un índice único no permite que dos filas tengan el mismo valor de índice.
Índice de clave principal: la definición de una clave principal para una tabla creará automáticamente un índice de clave principal, que es un tipo especial de índice único. Los índices de clave principal requieren que cada valor de la clave principal sea único y no pueda estar vacío.
Índice agrupado: el orden físico de las filas de la tabla es el mismo que el orden lógico (índice) de los valores clave, y solo puede haber uno por tabla.
Índice no agrupado: Un índice no agrupado especifica el orden lógico de las tablas. Los datos se almacenan en una ubicación y el índice se almacena en otra ubicación. El índice contiene punteros a dónde se almacenan los datos. Puede haber varios, menos de 249.
Más información sobre:
Índice único: un índice único no permite que dos filas tengan el mismo valor de índice.
La mayoría de las bases de datos no permiten que los índices únicos recién creados se guarden con la tabla si hay valores clave duplicados en los datos existentes. La base de datos también se niega a aceptar datos nuevos cuando duplicarían valores clave en la tabla. Por ejemplo, si se crea un índice único en la columna de identificación del estudiante en la tabla stuInfo, no se podrá repetir ningún número de identificación del estudiante.
Consejo: Se ha creado una restricción única y se creará automáticamente un índice único. Aunque los índices únicos son útiles para encontrar información, para obtener un mejor rendimiento, se recomienda utilizar restricciones de clave primaria o restricciones únicas.
Índice de clave principal: la definición de una clave principal para una tabla en un diagrama de base de datos creará automáticamente un índice de clave principal, que es un tipo especial de índice único. Los índices de clave principal requieren que cada valor de la clave principal sea único. También permite un acceso rápido a los datos cuando se utilizan índices de clave primaria en consultas.
Índice agrupado
En un índice agrupado, el orden físico de las filas de la tabla es el mismo que el orden lógico (índice) de los valores clave. Una tabla sólo puede contener un índice agrupado. Por ejemplo, de forma predeterminada, el diccionario de palabras chino organiza los números de página de cada página del diccionario en orden pinyin. Las letras pinyin A, B, C, D... X, Y, Z son el orden lógico del índice, mientras que los números de página 1, 2, 3... son el orden físico. De forma predeterminada, para los diccionarios ordenados por Pinyin, el orden del índice y el orden lógico son los mismos. Es decir, los caracteres (palabras) con orden pinyin más bajo tienen números de página más grandes. Por ejemplo, el número de página del carácter (palabra) correspondiente al pinyin "ha" está detrás del número de página del carácter (palabra) correspondiente al pinyin "ba".
Si no es un índice agrupado, el orden físico de las filas de la tabla no coincide con el orden lógico de los valores clave. Los índices agrupados proporcionan un acceso a los datos más rápido que los índices no agrupados. Por ejemplo, el índice ordenado por trazos es un índice no agrupado y el número de página de un carácter (palabra) dibujado con "1" puede ser mayor (menor) que el número de página de un carácter (palabra) dibujado con "3 ".
Consejo: En SQL Server, una tabla solo puede crear un índice agrupado y varios índices no agrupados. Establezca una columna como clave principal, que es un índice agrupado de forma predeterminada.
Crear índice
Crear [único][agrupado|no agrupado]
Nombre del índice del índice
En el nombre de la tabla (Columna nombre...) en
[fill factor=x]
UNIQUE representa un índice único, que es opcional.
Agrupado, no agrupado significa índice agrupado o
Índice no agrupado, opcional
FILLFACTOR representa el factor de relleno, especifique un valor entre 0 y 100.
Este valor indica el porcentaje de espacio que ocupa la página de índice.
Ventajas
Acelerar el acceso
Mejorar la unicidad de las filas
Desventajas
La tabla de índice está en la base de datos. Necesita más espacio de almacenamiento.
Los comandos que manipulan datos tardan más en procesarse porque requieren actualizar el índice.