¿Qué es un índice?
Un índice es una clave tomada de una o más columnas de la base de datos que acelera las filas en ebullición de la tabla o vista. Esta clave ayuda a bases de datos como Oracle, SQL Server, MySQL, etc. Encuentre el conjunto de valores clave rápidamente.
Hay dos tipos de índices:
- Índice de agrupamiento
- Índice no agrupado
En este tutorial, aprenderá:
¿Qué es un índice de agrupamiento?
Un índice de clúster es un tipo de índice que establece los conjuntos de datos de la tabla en sus valores principales. En la base de datos, solo hay un índice agrupado por tabla.
Un índice de agrupación define el orden en el que se almacenan los datos en la tabla que no se pueden ordenar de una forma. Por tanto, puede haber un índice agrupado para cada tabla. En RDBMS, la clave principal generalmente le permite crear un índice agrupado basado en esa columna específica.
¿Qué es un índice de no agrupación?
El índice no agrupado almacena los datos en una ubicación y los indexa en otra ubicación. El índice contiene pistas sobre la ubicación de esos datos. Una sola tabla puede contener muchos índices no agrupados porque un índice se almacena en el índice no agrupado en diferentes ubicaciones.
Por ejemplo, un libro puede tener más de un índice, uno al principio que muestra el contenido de una unidad de libro de manera sensata y el segundo índice muestra el índice de términos en orden alfabético.
Un índice no agrupado se define en el área desordenada de la tabla. Este tipo de método de indexación le ayuda a mejorar el rendimiento de las consultas utilizando claves que no están asignadas como clave principal. Un índice no agrupado le permite agregar una clave única a una tabla.
EFECTO CLAVE
- Un índice de clúster es un tipo de índice que ordena los conjuntos de datos de la tabla en sus valores principales, pero el índice no agrupado almacena los datos en una ubicación y los indexa en otra ubicación.
- Un índice agrupado de páginas almacena datos en los nodos de hoja de índice y un método de índice que no es de grupo nunca almacena páginas de datos en los nodos de hoja de índice.
- Un índice de clúster no requiere espacio en disco adicional, pero el índice no agrupado requiere espacio de disco adicional.
- Por el contrario, un índice de clúster proporciona un acceso más rápido a los datos; por otro lado, un índice no agrupado es más lento.
Caracterización del índice de agrupamiento
- Almacenamiento de datos predeterminado y ordenado
- Utilice solo una o más columnas para un índice
- Le ayuda a almacenar datos e indexar juntos
- Fragmentación
- Operaciones
- Escanee un índice agrupado y busque un índice
- Búsqueda de claves
Características de los índices no agrupados
- Almacene solo valores fundamentales
- Sugerencias para agrupar / agrupar capas de índice
- Permite el acceso secundario a los datos.
- Puente a los detalles
- Operaciones de escaneo de índice e intento de índice
- Puede crear un índice no estructurado para una tabla o vista
- Cada sobre-índice en el índice de no transmisión almacena el valor de la clave no transmitida y el buscador consecutivo
Ejemplo de un índice agrupado
En el siguiente ejemplo, el índice agrupado es SalesOrderDetailID. Consulta de muestra para la recuperación de datos
SELECT CarrierTrackingNumber, UnitPrice FROM SalesData WHERE SalesOrderDetailID = 6
Ejemplo de un índice no agrupado
En el siguiente ejemplo, se crea un índice no auditivo de OrderQty y ProductID de la siguiente manera
CREATE INDEX myIndex ON SalesData (ProductID, OrderQty)
La siguiente consulta se recuperará más rápido en comparación con el índice agrupado.
SELECT Product ID, OrderQty FROM SalesData WHERE ProductID = 714
Diferencias entre el índice de agrupación en clúster y el índice que no se transmite
Parámetros | Agrupado | No agrupado |
---|---|---|
Usar para | Puede ordenar los registros y almacenar físicamente un índice agrupado en la memoria en orden. | Un índice no agrupado le ayuda a crear un orden lógico para los conjuntos de datos y utiliza sugerencias para los archivos de datos físicos. |
Método de almacenamiento | Le permite almacenar páginas de datos en los nodos de página del índice. | Este método de indexación nunca almacena páginas de datos en los nodos de página del índice. |
Tamaño | El tamaño del índice de conglomerados es relativamente grande. | El tamaño del índice no agrupado es pequeño en comparación con el índice agrupado. |
Acceso a los datos | Más rápido | Más lento en comparación con el índice agrupado |
Espacio extra en disco | No es necesario | Requerido para almacenar el índice por separado |
Tipo de clave | De forma predeterminada, la tabla es un índice de clúster de claves primarias. | Se puede usar con una restricción única en la tabla que sirve como clave compuesta. |
Función clave | Un índice agrupado puede mejorar el rendimiento de la recuperación de datos. | Debe crearse en las columnas utilizadas en el adjunto. |
Ventajas del índice de clústeres
Las ventajas / beneficios del índice agrupado son:
- Los índices agrupados son una excelente opción para un rango o grupo por preguntas de tipo máximo, mínimo o de conteo
- En este tipo de índice, una búsqueda puede ir directamente a un punto específico de los datos para que pueda seguir leyendo secuencialmente desde ese punto.
- Un método de índice agrupado utiliza un mecanismo de posicionamiento para encontrar una entrada de índice al comienzo de un rango.
- Es un método eficaz para la búsqueda de rango cuando se solicita un rango de valores de búsqueda clave.
- Le ayuda a minimizar las transferencias de páginas y maximizar los accesos al caché.
Ventajas del índice no agrupado
Las ventajas de utilizar un índice no agrupado son:
- Un índice no agrupado le ayuda a recuperar rápidamente datos de la tabla de la base de datos.
- Le ayuda a evitar los gastos generales del índice de clúster.
- Una tabla en un RDBMS puede contener varios índices no agrupados. Por tanto, se puede utilizar para crear más de un índice.
Desventajas del índice de conglomerados
Estas son las desventajas / desventajas de usar un índice agrupado:
- Muchos entran en orden no secuencial
- Un índice agrupado crea muchas divisiones de páginas estáticas, incluidas la página de datos y las páginas de índice.
- Trabajo extra para SQL para insertar, actualizar y eliminar.
- Un índice de agrupación tarda más en actualizar los registros cuando se modifican los campos del índice de agrupación.
- Las páginas de datos del índice se agrupan en su mayoría en los nodos hoja.
Desventajas del índice no agrupado
Estas son las desventajas / desventajas de usar un índice no agrupado:
- Un índice no agrupado le ayuda a almacenar datos en un orden lógico, pero no permite ordenar conjuntos de datos físicamente.
- El proceso de búsqueda en un índice no agrupado tiene un costo.
- Cada vez que se actualiza la clave del clúster, el índice no agrupado debe actualizarse de forma correspondiente a medida que almacena la clave agrupada.