Los índices juegan un papel fundamental en las bases de datos. Actúan como índices en un libro, lo que le permite buscar y localizar varios artículos y temas dentro de un libro. Los índices en una base de datos funcionan de manera similar y ayudan a acelerar la velocidad de búsqueda para los registros almacenados en una base de datos.
Los índices agrupados son uno de los tipos de índice en SQL Server. Se utiliza para definir el orden bajo el cual los datos se almacenan en una tabla. Funciona clasificando los registros en una mesa y luego almacenándolos.
En este tutorial, aprenderá sobre índices agrupados en una tabla y cómo definir un índice clúster en SQL Server.
Índices clústicos de SQL Server
Antes de entender cómo crear un índice agrupado en SQL Server, aprendamos cómo funcionan los índices.
Considere la consulta de ejemplo a continuación para crear una tabla utilizando una estructura básica.
Crear base de datos product_inventory;A continuación, inserte algunos datos de muestra en la tabla, como se muestra en la consulta a continuación:
Insertar en valores de inventario (ID, Product_Name, Price, Cantidad)La tabla de ejemplo anterior no tiene una restricción de clave principal definida en sus columnas. Por lo tanto, SQL Server almacena los registros en una estructura desordenada. Esta estructura se conoce como un montón.
Supongamos que necesita realizar una consulta para localizar una fila específica en la tabla? En tal caso, obligará a SQL Server a escanear toda la tabla para localizar el registro coincidente.
Por ejemplo, considere la consulta.
Seleccionar * del inventario donde la cantidad = 8;Si utiliza el plan de ejecución estimado en SSMS, notará que la consulta escanea toda la tabla para localizar un solo registro.
Aunque el rendimiento apenas se nota en una pequeña base de datos como la anterior, en una base de datos con un número enorme de registros, la consulta puede tardar más en completar.
Una forma de resolver dicho caso es usar un índice. Hay varios tipos de índices en SQL Server. Sin embargo, nos centraremos principalmente en índices agrupados.
Como se mencionó, un índice agrupado almacena los datos en un formato ordenado. Una tabla puede tener un índice agrupado, ya que solo podemos ordenar los datos en un orden lógico.
Un índice agrupado utiliza estructuras de árbol B para organizar y ordenar los datos. Esto le permite realizar insertos, actualizaciones, eliminaciones y más operaciones.
Aviso en el ejemplo anterior; la tabla no tenía una clave principal. Por lo tanto, SQL Server no crea ningún índice.
Sin embargo, si crea una tabla con una restricción de clave principal, SQL Server crea automáticamente un índice clúster desde la columna de clave principal.
Observe lo que sucede cuando creamos la tabla con una restricción de clave principal.
Crear inventario de tabla (Si vuelve a ejecutar la consulta de selección y usa el plan de ejecución estimado, ve que la consulta usa un índice agrupado como:
Seleccionar * del inventario donde la cantidad = 8;En SQL Server Management Studio, puede ver los índices disponibles para una tabla expandiendo el grupo de índices como se muestra:
¿Qué sucede cuando agrega una restricción de clave principal a una tabla que contiene un índice agrupado?? SQL Server aplicará la restricción en un índice no agrupado en dicho escenario.
SQL Server crea un índice clúster
Puede crear un índice clúster utilizando la instrucción Crear índice clúster en SQL Server. Esto se usa principalmente cuando la tabla de destino no tiene una restricción de clave principal.
Por ejemplo, considere la siguiente tabla.
Tabla de caída si existe inventario;Dado que la tabla no tiene una clave principal, podemos crear un índice agrupado manualmente, como se muestra en la consulta a continuación:
Crear índice clúster id_index en inventario (id);La consulta anterior crea un índice agrupado con el nombre id_index en la tabla del inventario usando la columna de identificación.
Si buscamos índices en SSMS, deberíamos ver el id_index como:
Envolver!
En esta guía, exploramos el concepto de índices e índices agrupados en SQL Server. También cubrimos cómo crear una tecla agrupada en una tabla de base de datos.
Gracias por leer y estad atentos para más tutoriales de SQL Server.