¿Cuál es la diferencia entre el índice agrupado y no agrupado?

los diferencia principal entre el índice agrupado y no agrupado es que solo hay un índice agrupado por tabla mientras que hay múltiples índices no agrupados por tabla.

En primer lugar, la indexación es una técnica para recuperar registros de los archivos de base de datos de manera fácil y eficiente. Acelera el rendimiento de las consultas para las aplicaciones cliente que utilizan la base de datos. Además, hay dos tipos de índices como índice agrupado y no agrupado. El índice agrupado cambia el orden en que se almacenan los datos en el disco. Sin embargo, en un índice no agrupado, el orden lógico del índice no coincide con el orden físico de los datos almacenados en el disco.

Áreas clave cubiertas

1. ¿Qué es un índice?
     - Definición, Funcionalidad
2. ¿Qué es un índice agrupado?
     - Definición, Funcionalidad
3. ¿Qué es un índice no agrupado?
     - Definición, Funcionalidad
4. ¿Cuál es la diferencia entre el índice agrupado y no agrupado?
     - Comparación de diferencias clave

Términos clave

Índice agrupado, índice no agrupado

¿Qué es un índice?

Supongamos una tabla que almacena los detalles del cliente. Tiene tres columnas como nombre de pila, apellido y número de contacto. Si no hay índices en la tabla, los datos se insertarán en los espacios libres en el almacenamiento sin ningún orden en particular. Si el usuario requiere obtener el número de teléfono de un cliente específico, es necesario buscar datos desde el principio. Aunque obtenemos los datos, es necesario continuar hasta el final porque puede haber datos coincidentes al final. Los índices son útiles en estas situaciones..

¿Qué es un índice agrupado?

Un índice agrupado cambia el orden en el que los datos se almacenan físicamente. Una vez que los datos de la tabla están en el orden físico, el DBMS crea las páginas de índice. Ayudan a navegar fácilmente a los datos requeridos. La estructura completa con los datos de la tabla base se conoce como un índice agrupado. El proceso de una consulta que navega a través del árbol de índice agrupado a los datos de la tabla base se llama búsqueda de índice agrupado. Hay un índice agrupado por tabla porque es imposible organizar físicamente los datos de dos maneras diferentes sin usar estructuras separadas.

¿Qué es un índice no agrupado?

Un índice no agrupado no ordena los datos físicos en la tabla. El índice y la tabla se almacenan en diferentes lugares. Además, hay punteros o referencias a los datos en la tabla. Es posible almacenar datos en cualquier orden ya que ese orden es independiente de los datos de la tabla base. Por lo tanto, puede haber más de un índice no agrupado por tabla. Los datos en la tabla base están en el montón mientras que las referencias son los identificadores de fila.

Al ejecutar una consulta en una columna, la base de datos primero va al índice y busca la dirección de la fila correspondiente en la tabla. Luego, va a la dirección de la fila y busca otros valores de columna. Por lo tanto, los índices no agrupados son más lentos que los índices agrupados. Cuando hay una clave única definida en la tabla, se creará automáticamente un índice no agrupado.

Diferencia entre el índice agrupado y no agrupado

Definición

Un índice agrupado es un tipo de índice en el que los registros de la tabla se reordenan físicamente para coincidir con el índice. Un índice no agrupado, por otro lado, es un tipo especial de índice en el que el orden lógico del índice no coincide con el orden físico almacenado de las filas en el disco. Estas definiciones explican la diferencia entre el índice agrupado y el no agrupado.

Número de índices

El número de índices por tabla es una diferencia importante entre el índice agrupado y el no agrupado. Una tabla puede tener un solo índice agrupado, pero múltiples índices no agrupados.

Funcionalidad

El índice agrupado no almacena los punteros a los datos reales. Sin embargo, el índice no agrupado almacena tanto el valor como un puntero a la fila real que contiene los datos. Por lo tanto, esta es otra diferencia entre el índice agrupado y el no agrupado.

Orden de almacenamiento de datos

Además, un índice de clúster determina el orden de almacenamiento de los datos en el disco, mientras que un índice no agrupado no tiene ningún efecto en el orden de almacenamiento de los datos en el disco..

Espacio de memoria requerido

Además, un índice no agrupado requiere más espacio de memoria que un índice agrupado.

Velocidad

La velocidad es otra diferencia entre el índice agrupado y el no agrupado. Los índices no agrupados son más lentos que los índices agrupados.

Conclusión

Hay dos tipos de índices como índice agrupado y no agrupado. La diferencia entre el índice agrupado y el no agrupado es que solo hay un índice agrupado por tabla, mientras que hay múltiples índices no agrupados por tabla. En resumen, un índice no agrupado es más lento y requiere más espacio que un índice agrupado.

Referencia:

1. Yadav, Durgaprasad. "Índice en el servidor SQL". LinkedIn SlideShare, 21 de noviembre de 2015, disponible aquí.
2. Rahaman, Mahabubur. "Introducción a la indexación de servidores Sql". LinkedIn SlideShare, 23 de mayo de 2015, disponible aquí.

Imagen de cortesía:

1. "Logotipo de las bases de datos" Por Borjasotomayor en Wikilibros en inglés (CC BY-SA 3.0) a través de Commons Wikimedia