Créer, modifier et supprimer des index spatiaux

S’applique à : SQL Server base de données Azure SQL Azure SQL Managed Instance

Un index spatial peut effectuer plus efficacement certaines opérations sur une colonne du type de données geometry ou geography (une colonne spatiale). Plusieurs index spatiaux peuvent être spécifiés sur une colonne spatiale. Cela peut s'avérer utile par exemple pour indexer différents paramètres de pavage dans une même colonne.

Il existe plusieurs restrictions applicables à la création d'index spatiaux. Pour plus d'informations, consultez Restrictions sur les index spatiaux dans cette rubrique.

Remarque

Pour plus d’informations sur la relation entre les index spatiaux et les partitions et groupes de fichiers, consultez la section « Remarques » dans CREATE SPATIAL INDEX (Transact-SQL).

Création, modification et suppression d'index spatiaux

Pour créer un index spatial

Pour créer un index spatial à l'aide de Transact-SQL
CREATE SPATIAL INDEX (Transact-SQL)

Pour créer un index spatial à l'aide de la boîte de dialogue Nouvel index dans Management Studio

Pour créer un index spatial dans Management Studio
  1. Dans l'Explorateur d'objets, connectez-vous à une instance du Moteur de base de données SQL Server et développez-la.

  2. Développez Bases de données, développez la base de données qui contient la table dotée de l'index spécifié, puis développez Tables.

  3. Développez la table pour laquelle vous souhaitez créer l'index.

  4. Cliquez avec le bouton droit sur Index et sélectionnez Nouvel index.

  5. Dans le champ Nom de l'index , entrez un nom pour l'index.

  6. Dans la liste déroulante Type d’index , sélectionnez Spatial.

  7. Pour spécifier la colonne spatiale à indexer, cliquez sur Ajouter.

  8. Dans la boîte de dialogue Sélectionner des colonnes à partir de <nom de la table>, sélectionnez une colonne de type geometry ou geography en cochant la case correspondante. Toutes les autres colonnes spatiales deviennent alors impossibles à modifier. Si vous souhaitez sélectionner une autre colonne spatiale, vous devez tout d'abord désactiver la colonne sélectionnée actuellement. Lorsque vous avez terminé, cliquez sur OK.

  9. Vérifiez votre sélection de colonne dans la grille Colonnes clés d'index .

  10. Dans le volet Sélectionner une page de la boîte de dialogue Propriétés de l'index , cliquez sur Spatial.

  11. Dans la page Spatial , spécifiez les valeurs que vous souhaitez utiliser pour les propriétés spatiales de l'index.

    Quand vous créez un index sur une colonne de type geometry, vous devez spécifier les coordonnées (Min. X,Min. Y) et (Max. X,Max. Y) du cadre englobant. Pour un index sur une colonne de type geography , les champs de cadre englobant deviennent en lecture seule après que vous avez spécifié le schéma de pavage Grille géographique , car le pavage de la grille de géographie n’utilise pas de cadre englobant.

    Si vous le souhaitez, vous pouvez spécifier des valeurs autres que les valeurs par défaut pour le champ Cellules par objet et pour la densité de grille à tout niveau du schéma de pavage. Le nombre par défaut de cellules par objet est 16 pour SQL Server 2008 (10.0.x) ou 8 pour SQL Server 2012 (11.x) ou supérieur, et la densité de grille par défaut est Medium pour SQL Server 2008 (10.0.x).

    Vous pouvez sélectionner GEOMETRY_AUTO_GRID ou GEOGRAPHY_AUTO_GRID pour le schéma de pavage dans SQL Server. Lorsque GEOMETRY_AUTO_GRID ou GEOGRAPHY_AUTO_GRID est sélectionné, les options de densité de la grille Niveau 1, Niveau 2, Niveau 3 et Niveau 4 sont désactivées.

    Pour plus d'informations sur ces propriétés, consultez Index Properties F1 Help.

  12. Cliquez sur OK.

Remarque

Pour créer un autre index spatial sur la même colonne spatiale ou sur une colonne spatiale différente, répétez les étapes précédentes.

Pour créer un index spatial à l'aide du Concepteur de tables dans Management Studio

Pour créer un index spatial dans le Concepteur de tables
  1. Dans l’Explorateur d’objets, cliquez avec le bouton droit sur la table pour laquelle vous souhaitez créer un index spatial, puis cliquez sur Conception.

    La table s'ouvre dans le Concepteur de tables.

  2. Sélectionnez une colonne geometry ou geography pour l'index.

  3. Dans le menu Concepteur de tables , cliquez sur Index spatial.

  4. Dans la boîte de dialogue Index spatiaux , cliquez sur Ajouter.

  5. Sélectionnez le nouvel index dans la liste Index spatial sélectionné et, dans la grille située à droite, définissez les propriétés de l'index spatial. Pour plus d’informations sur les propriétés, consultez Boîte de dialogue Index spatiaux (Visual Database Tools).

Pour modifier un index spatial

Pour supprimer un index spatial

Pour supprimer un index spatial à l'aide de Transact-SQL
DROP INDEX (Transact-SQL)

Pour supprimer un index à l'aide de Management Studio
Suppression d'index

Pour supprimer un index spatial à l'aide du Concepteur de tables dans Management Studio

Pour supprimer un index spatial dans le Concepteur de tables
  1. Dans l’Explorateur d’objets, cliquez avec le bouton droit sur la table contenant l’index spatial que vous souhaitez supprimer et cliquez sur Conception.

    La table s'ouvre dans le Concepteur de tables.

  2. Dans le menu Concepteur de tables , cliquez sur Index spatial.

    La boîte de dialogue Index spatial s'ouvre.

  3. Cliquez sur l'index que vous souhaitez supprimer dans la colonne Index spatial sélectionné .

  4. Cliquez sur Supprimer.

Restrictions sur les index spatiaux

Un index spatial peut être créé uniquement sur une colonne de type geometry ou geography.

Restrictions sur les tables et les vues

Les index spatiaux peuvent être définis uniquement sur une table dotée d'une clé primaire. Le nombre maximal de colonnes clés primaires sur la table est de 15.

La taille maximale des enregistrements de clés d'index est de 895 octets. Les tailles supérieures génèrent une erreur.

Remarque

Les métadonnées de clé primaire ne peuvent pas être modifiées pendant qu'un index spatial est défini sur une table.

Des index spatiaux ne peuvent pas être spécifiés sur des vues indexées.

Restrictions sur plusieurs index spatiaux

Vous pouvez créer jusqu'à 249 index spatiaux sur les colonnes spatiales dans une table prise en charge. La création de plusieurs index spatiaux sur la même colonne spatiale peut être utile, par exemple pour indexer des paramètres de pavage différents dans une même colonne.

Vous pouvez créer un seul index spatial à la fois.

Index spatiaux et parallélisme de processus

Une construction d'index peut utiliser le parallélisme de processus disponible.

Restrictions de version

Les pavages spatiaux introduits dans SQL Server 2012 (11.x) ne peuvent pas être répliqués vers SQL Server 2008 R2 (10.50.x) ou SQL Server 2008 (10.0.x). Vous devez utiliser des pavages spatiaux SQL Server 2008 R2 (10.50.x) ou SQL Server 2008 (10.0.x) pour les index spatiaux lors de la compatibilité descendante avec les bases de données SQL Server 2008 R2 (10.50.x) ou SQL Server 2008 (10.0.x).

Voir aussi

Vue d’ensemble des index spatiaux