¿Qué es un índice?
Un índice es una clave construida a partir de una o más columnas en la base de datos que acelera la obtención de filas de la tabla o vista. Esta clave ayuda a una base de datos como Oracle, SQL Server, MySQL, etc. a encontrar rápidamente la fila asociada con los valores clave.
Hay dos tipos de índices:
- Índice agrupado
- Índice no agrupado
En este tutorial , aprenderá:
- ¿Qué es un índice?
- ¿Qué es un índice agrupado?
- ¿Qué es el índice no agrupado?
- Característica del índice agrupado
- Características de índices no agrupados
- Un ejemplo de un índice agrupado
- Un ejemplo de un índice no agrupado índice agrupado
- Diferencias entre índice agrupado y índice no agrupado
- Ventajas del índice agrupado
- Ventajas del índice no agrupado
- Desventajas de índice agrupado Índice
- Desventajas del índice no agrupado
¿Qué es un índice agrupado?
El índice de grupo es un tipo de índice que ordena las filas de datos en la tabla sobre sus valores clave. En la base de datos, solo hay un índice agrupado por tabla.
Un índice agrupado define el orden en el que se almacenan los datos en la tabla, que se puede ordenar de una sola forma. Por lo tanto, puede haber un solo índice agrupado para cada tabla. En un RDBMS, por lo general, la clave principal le permite crear un índice agrupado basado en esa columna específica.
¿Qué es un índice no agrupado?
Un índice no agrupado almacena los datos en una ubicación y los índices en otra ubicación. El índice contiene indicadores a la ubicación de esos datos. Una sola tabla puede tener muchos índices no agrupados, ya que un índice del índice no agrupado se almacena en diferentes lugares.
Por ejemplo, un libro puede tener más de un índice, uno al principio que muestra el contenido de un libro por unidades, mientras que el segundo índice muestra el índice de términos en orden alfabético.
Un índice no agrupado se define en el campo no ordenado de la tabla. Este tipo de método de indexación le ayuda a mejorar el rendimiento de las consultas que utilizan claves que no están asignadas como clave principal. Un índice no agrupado le permite agregar una clave única para una tabla.
DIFERENCIA CLAVE
- El índice de clúster es un tipo de índice que clasifica las filas de datos en la tabla según sus valores clave, mientras que el índice no agrupado almacena los datos en un lugar e índices en otro lugar.
- El índice agrupado almacena páginas de datos en los nodos hoja del índice, mientras que el método de índice no agrupado nunca almacena páginas de datos en los nodos hoja del índice.
- El índice de grupo no requiere espacio en disco adicional, mientras que el índice no agrupado requiere espacio en disco adicional.
- El índice de grupo ofrece un acceso más rápido a los datos, por otro lado, el índice no agrupado es más lento.
Característica del índice agrupado
- Almacenamiento de datos ordenados y predeterminados
- Use solo una o más de una columna para un índice
- Ayuda para almacenar datos e indexar juntos
- Fragmentación
- Operaciones
- Escaneo de índice agrupado y búsqueda de índice
- Búsqueda de claves
Características de los índices no agrupados
- Almacenar valores clave únicamente
- Punteros a filas de índices agrupados / de montón
- Permite datos secundarios acceso
- Puente a los datos
- Operaciones de exploración de índice y búsqueda de índice
- Puede crear una índice agrupado para una tabla o vista
- Cada fila de índice en el índice no agrupado almacena el valor de clave no agrupado y un localizador de filas
Un ejemplo de índice agrupado
En el ejemplo siguiente, SalesOrderDetailID es el índice agrupado. Consulta de muestra para recuperar datos
SELECT CarrierTrackingNumber, UnitPriceFROM SalesDataWHERE SalesOrderDetailID = 6
Un ejemplo de un índice no agrupado
En el siguiente ejemplo, se crea un índice no agrupado en OrderQty y ProductID de la siguiente manera
CREATE INDEX myIndex ONSalesData (ProductID, OrderQty)
La siguiente consulta se recuperará más rápido en comparación con el índice agrupado.
SELECT Product ID, OrderQtyFROM SalesDataWHERE ProductID = 714
Diferencias entre agrupados Índice y índice no agrupado
Parámetros | Agrupados | No agrupados |
---|---|---|
Usar para | Puede ordenar los registros y almacenar el índice agrupado físicamente en la memoria según el orden . | Un índice no agrupado le ayuda a crear un orden lógico para las filas de datos y utiliza punteros para los archivos de datos físicos. |
Método de almacenamiento | Le permite almacenar páginas de datos en los nodos hoja del índice. | Este método de indexación nunca almacena páginas de datos en los nodos hoja del índice. |
Tamaño | El tamaño del índice agrupado es bastante grande. | El tamaño del índice no agrupado es pequeño en comparación con el índice agrupado. |
Acceso a datos | Más rápido | Más lento en comparación con el índice agrupado |
Espacio adicional en disco | No necesario | Necesario para almacenar el índice por separado |
Tipo de clave | Por defecto, las claves primarias de la tabla son un índice agrupado. | Se puede usar con una restricción única en la tabla que actúa como una clave compuesta. |
Característica principal | Un índice agrupado puede mejorar el rendimiento de la recuperación de datos. | Debe crearse en columnas que se utilizan en combinaciones. |
Ventajas del índice agrupado
Las ventajas / beneficios del índice agrupado son:
- Los índices agrupados son una opción ideal para consultas de rango o agrupación con máximo, mínimo y tipo de recuento.
- En este tipo de índice, una búsqueda puede ir directamente a un punto específico de los datos para que puede seguir leyendo secuencialmente desde allí.
- El método de índice agrupado utiliza un mecanismo de ubicación para ubicar la entrada del índice al comienzo de un rango.
- Es un método eficaz para búsquedas de rango cuando se solicita un rango de valores clave de búsqueda.
- Le ayuda a minimizar las transferencias de páginas y maximizar las visitas al caché.
Ventajas del índice no agrupado
Las ventajas de utilizar un índice no agrupado son:
- Un índice no agrupado le ayuda para recuperar datos rápidamente de la tabla de la base de datos.
- Le ayuda a evitar los costos generales asociados con el índice agrupado
- Una tabla puede tener múltiples índices no agrupados en RDBMS. Por lo tanto, se puede utilizar para crear más de un índice.
Desventajas del índice agrupado
A continuación, se muestran las desventajas / desventajas del uso de índice agrupado:
- Muchas inserciones en no secuenciales orden
- Un índice agrupado crea muchas divisiones de página constantes, que incluyen la página de datos y las páginas de índice.
- Trabajo adicional para SQL para inserciones, actualizaciones y eliminaciones.
- Un índice agrupado tarda más en actualizar los registros cuando se modifican los campos del índice agrupado.
- Los nodos hoja contienen principalmente páginas de datos en el índice agrupado.
Desventajas del índice no agrupado
A continuación, se muestran las desventajas / desventajas de utilizar un índice no agrupado: