Cómo eliminar índices con DROP INDEX en SQL Server

Resumen
: en este tutorial, aprenderás a usar la instrucción DROP INDEX de SQL Server para eliminar índices existentes.
Descripción general de la instrucción DROP INDEX de SQL Server
La instrucción DROP INDEX elimina uno o más índices de la base de datos actual. Aquí está la sintaxis de la instrucción DROP INDEX:
DROP INDEX [IF EXISTS] index_name
ON table_name;
En esta sintaxis:
- Primero, se debe especificar el nombre del índice que deseas eliminar después de la cláusula DROP INDEX.
- En segundo lugar, especifica el nombre de la tabla a la que pertenece el índice.
Eliminar un índice no existente resultará en un error. Sin embargo, puede usar la opción IF EXISTS para eliminar condicionalmente el índice y evitar el error.
Ten en cuenta que la opción IF EXISTS está disponible desde SQL Server 2016 (13.x).
La instrucción DROP INDEX no elimina los índices creados con las restricciones PRIMARY KEY o UNIQUE. Para eliminar índices asociados con estas restricciones, utiliza la instrucción ALTER TABLE DROP CONSTRAINT.
Para eliminar varios índices de una o más tablas, especifica una lista separada por comas de nombres de índice con los nombres de tabla correspondientes después de la cláusula DROP INDEX como se muestra en la siguiente consulta:
DROP INDEX [IF EXISTS]
index_name1 ON table_name1,
index_name2 ON table_name2,
...;
Ejemplos de sentencias DROP INDEX de SQL Server
Usaremos la tabla sales.customers de la base de datos de muestra para los siguientes ejemplos.
La siguiente imagen muestra los índices de la tabla sales.customers:
A) Usar SQL Server DROP INDEX para eliminar un índice
Esta declaración utiliza DROP INDEX para eliminar el índice ix_cust_email de la tabla sales.customers:
DROP INDEX IF EXISTS ix_cust_email
ON sales.customers;
Si compruebas los índices de la tabla sales.customers, verás que se eliminó el índice ix_cust_email.
B) Usar DROP INDEX de SQL Server para eliminar varios índices de ejemplo
El siguiente ejemplo utiliza la instrucción DROP INDEX para eliminar los índices ix_cust_city, ix_cust_fullname de la tabla sales.customers:
DROP INDEX
ix_cust_city ON sales.customers,
ix_cust_fullname ON sales.customers;
La tabla sales.customers ahora no tiene un índice no agrupado:
En este tutorial, ha aprendido a usar la instrucción DROP INDEX de SQL Server para eliminar uno o varios índices de las tablas.