SQL Índices agrupados, únicos y ordenados


Ejemplo

Los índices pueden tener varias características que se pueden establecer en la creación o alterando los índices existentes.

CREATE CLUSTERED INDEX ix_clust_employee_id ON Employees(EmployeeId, Email);  

La declaración SQL anterior crea un nuevo índice agrupado en los empleados. Los índices agrupados son índices que dictan la estructura real de la tabla; La tabla en sí está ordenada para que coincida con la estructura del índice. Eso significa que puede haber como máximo un índice agrupado en una tabla. Si ya existe un índice agrupado en la tabla, la declaración anterior fallará. (Las tablas sin índices agrupados también se denominan montones).

CREATE UNIQUE INDEX uq_customers_email ON Customers(Email);

Esto creará un índice único para la columna Correo electrónico en la tabla Clientes . Este índice, junto con la aceleración de consultas como un índice normal, también forzará que cada dirección de correo electrónico en esa columna sea única. Si se inserta o actualiza una fila con un valor de correo electrónico no único, la inserción o actualización fallará, de forma predeterminada.

CREATE UNIQUE INDEX ix_eid_desc ON Customers(EmployeeID);

Esto crea un índice en los clientes que también crea una restricción de tabla que indica que el EmployeeID debe ser único. (Esto fallará si la columna no es actualmente única; en este caso, si hay empleados que comparten una ID).

CREATE INDEX ix_eid_desc ON Customers(EmployeeID Desc);

Esto crea un índice que se ordena en orden descendente. De forma predeterminada, los índices (en el servidor MSSQL, al menos) son ascendentes, pero se pueden cambiar.