Supprimer un index SQL Server avec un script

Un tutoriel informatique et plus spécialement sur les bases de données pour supprimer un index SQL Server. Un index est associé à une table existante dans une base de données. Il peut s’agir d’une base de données relationnelle ou transactionnelle.

Par exemple, apprenez ici pourquoi il est important de mettre en place des plans de maintenances pour améliorer les performances et la gestion des ressources MS SQL.

Supprimer un index SQL Server avec un script (DROP INDEX)

Premièrement, pour supprimer un index inutile, il suffit de copier-coller cet exemple de code et de l’ajuster avec les noms de l’index et de la table. Ce code supprime l’index créé dans cet article.

Il est aussi possible de supprimer un index depuis l’interface graphique SSMS.

Cette commande SQL Server utilise la commande DROP et le mot clef INDEX. Le nom complet de l’index et bien sûr le nom de la table suivent la commande DROP INDEX.

En effet, un index a un nom unique pour une table donnée. Nommer les index avec le préfixe de la table. Pour les distinguer et faciliter la gestion du code T-SQL.

Dans ce script SQL, les deux tables SALES et SALES_2 ont le même index créé avec le même nom.

CREATE TABLE [dbo].[SALES]
(
   [Year] TINYINT,
   [MonthName] NVARCHAR(50),
   [MonthCurrent] BIT,
   [NumberMonth] TINYINT,
   [EmployeeNumber] SMALLINT,
   [NumberOfClients] INTEGER,
   [NumberOfSales] BIGINT,
   [Amount_ET] NUMERIC(15,5),
   [Amount_IT] DECIMAL(15,5)
);

CREATE INDEX indexYearMonth
ON [dbo].[SALES] ([Year], [MonthName]);
GO

CREATE TABLE [dbo].[SALES_2]
(
   [Year] TINYINT,
   [MonthName] NVARCHAR(50),
   [MonthCurrent] BIT,
   [NumberMonth] TINYINT,
   [EmployeeNumber] SMALLINT,
   [NumberOfClients] INTEGER,
   [NumberOfSales] BIGINT,
   [Amount_ET] NUMERIC(15,5),
   [Amount_IT] DECIMAL(15,5)
);

CREATE INDEX indexYearMonth
ON [dbo].[SALES_2] ([Year], [MonthName]);
GO

Deuxièmement, c’est la même syntaxe que la plupart des objets supprimés avec des requêtes de type Data Definition Language (DDL).

DROP INDEX indexYearMonth
	ON [dbo].[SALES] ;
GO

De plus, veuillez noter qu’après avoir supprimé l’index, toutes les requêtes utiliseront la clé primaire de la table SQL. Cela peut donc avoir un impact énorme sur les performances.

Soyez le premier à commenter

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée.


*