CREATE INDEX (SQL Server Compact Edition)

Nouveau : 14 avril 2006

Crée un index sur une table spécifique. Un index peut être créé avant que la table ne contienne de données.

Syntaxe

CREATE [UNIQUE] [NONCLUSTERED] INDEX index_name ON table_name (column_name [ASC|DESC][,…n])
WITH (STATISTICS_NORECOMPUTE = { ON | OFF })]

Arguments

Terme Définition

UNIQUE

Crée un index unique sur une table. Un index unique est un index dans lequel deux lignes ne sont pas autorisées à posséder la même valeur d'index.

SQL Server 2005 Compact Edition (SQL Server Compact Edition) vérifie l'absence de valeurs dupliquées lors de la création de l'index (si des données existent déjà) et effectue ce contrôle chaque fois que des données sont ajoutées à l'aide d'une instruction INSERT ou UPDATE. Les valeurs dupliquées doivent être éliminées avant qu'un index unique puisse être créé sur les colonnes. Si des valeurs de clés dupliquées existent, l'instruction CREATE INDEX est annulée et une erreur est retournée. Un index unique ne peut être créé que sur les colonnes définies en tant que NOT NULL.

Lorsqu'un index unique existe, les instructions UPDATE ou INSERT qui génèreraient des valeurs de clés dupliquées sont restaurées et SQL Server Compact Edition retourne une erreur. Et ce, même si l'instruction UPDATE ou INSERT modifie de nombreuses lignes, mais ne génère qu'un seul doublon.

NONCLUSTERED

Crée un index qui spécifie l'ordre logique d'une table. Avec un index non cluster, l'ordre physique des lignes de données est indépendant de l'ordre indexé. Il s'agit du seul type d'index pris en charge. (La valeur par défaut est NONCLUSTERED.)

index_name

Spécifie le nom de l'index. Les noms d'index doivent être uniques au sein d'une table, mais pas dans une base de données.

table_name

Spécifie le nom de la table où l'index doit être créé.

Cette table contient la ou les colonnes à indexer.

column name

La ou les colonnes auxquelles l'index s'applique. Spécifiez deux noms de colonnes ou plus pour créer un index composite sur les valeurs combinées dans les colonnes spécifiées. Listez les colonnes à inclure dans l'index composite, en les triant par ordre de priorité, à l'intérieur des parenthèses après table.

Remarque :
Les colonnes composées des types de données ntext ou image ne peuvent pas être spécifiées en tant que colonnes pour un index.

ASC | DESC ]

Détermine l'ordre de tri croissant (ASC) ou décroissant (DSC) d'une colonne d'index particulière. La valeur par défaut est ASC.

n

Espace réservé indiquant que plusieurs colonnes peuvent être spécifiées pour un index particulier. Le nombre maximal de colonnes pouvant participer dans un index est 16.

STATISTICS_NORECOMPUTE

Indique si les statistiques de distribution sont à recalculer. La valeur par défaut est OFF.

  • ON
    Indique que les statistiques périmées ne sont pas recalculées automatiquement.
  • OFF
    Active la mise à jour automatique des statistiques.

Pour restaurer la mise à jour automatique des statistiques, affectez la valeur OFF à STATISTICS_NORECOMPUTE ou exécutez UPDATE STATISTICS sans la clause NORECOMPUTE.

Important :
La désactivation du recalcul automatique des statistiques de distribution peut empêcher l'optimiseur de requête de sélectionner des plans d'exécution optimaux pour les requêtes qui impliquent la table.

Exemple

L'exemple suivant crée un index unique sur la table MyCustomers.

CREATE TABLE MyCustomers (CustID int, CompanyName nvarchar(50))
CREATE UNIQUE INDEX idxCustId ON MyCustomers (CustId)

Voir aussi

Autres ressources

Réglage des performances des requêtes (SQL Server Compact Edition)
Objets de base de données

Aide et information

Assistance sur SQL Server Compact Edition