Les index fournissent un raccourci pour accéder aux données. À l’instar de l’index d’un livre, qui fournit une liste des concepts importants pour vous aider à localiser les informations pertinentes, les index définis sur une couche ou une table d’entités hébergée aident le logiciel à localiser les informations requises lors de l’interrogation de la couche.
Plusieurs types d’index permettent d’améliorer la performance des requêtes pour les couches et tables d’entités hébergées. Certains sont définis par ArcGIS Online et vous avez la possibilité d’en définir d’autres. Chacun est conçu pour améliorer la performance d’un type de requête spécifique ou pour répondre à une exigence spécifique.
Vous devez être le propriétaire de l’élément ou l’administrateur d’une organisation pour ajouter ou gérer un index.
Recréer l’indice spatial
Les indices spatiaux améliorent les performances des requêtes spatiales, telles que la représentation des entités sur une carte ou la recherche des entités.
Un index spatial est créé pour la couche d’entités hébergée lorsque vous la publiez. Si d’autres éditeurs ajoutent, ou vous-même ajoutez, des entités à la couche qui se trouvent hors de l’étendue initiale de la couche, vous devez recréer l’indice spatial qui devient alors obsolète. Prenons l’exemple d’une couche d’entités hébergée contenant des entités dans une seule ville. Lorsque vous ajoutez par la suite des données qui insèrent des entités à l’échelle de tout le pays, vous devez régénérer l’index spatial pour cette couche.
De façon générale, si vous constatez que la couche s’affiche plus lentement qu’à l’accoutumée et que vous savez qu’un grand nombre d’entités a été ajouté à la couche en dehors de l’étendue initiale, vous devez recréer l’index spatial. Des index spatiaux sont définis dans le champ spatial de la couche d’entités.
Pour recréer l’index spatial sur une couche, procédez comme suit :
- Connectez-vous à l’organisation en tant que propriétaire de la couche d’entités hébergée ou en tant qu’administrateur de l’organisation.
- Ouvrez la page des éléments de la couche d’entités hébergée.
- Cliquez sur l’onglet Settings (Paramètres).
- Faites défiler le contenu pour accéder à la section Manage indexes (Gérer les index).
- Assurez-vous que l’onglet Spatial indexes (Index spatiaux) est sélectionné et cliquez sur Rebuild indexes (Recréer les index).
- Activez le bouton bascule situé en regard de la ou des sous-couches pour lesquelles vous voulez recréer l’index spatial, et cliquez sur Rebuild (Recréer).
Remarque :
Pendant que l’index spatial est recréé, les utilisateurs de la couche observeront probablement un ralentissement des performances. Si possible, procédez à la reconstruction des indices spatiaux lorsque la couche n’est pas utilisée.
Ajouter des index à des champs attributaires
Les index attributaires et de texte intégral peuvent réduire le temps nécessaire aux requêtes, telles que les recherches ou les filtrages, pour trouver les données demandées.
Si vous notez que le temps nécessaire à l’obtention de résultats est long lorsque vous procédez à un filtrage ou appliquez une définition reposant sur des attributs non spatiaux dans une table ou une couche, vous pouvez ajouter un index au champ ou aux champs pour tenter d’améliorer les performances de requête.
Vous pouvez ajouter des index attributaires à tous les types de champs pris en charge par ArcGIS Online. Si des filtres ou des définitions doivent rechercher des mots ou des phrases spécifiques dans un champ de type chaîne, vous pouvez ajouter un index de texte intégral.
Si les utilisateurs effectuent une recherche dans un seul champ à la fois, ou interrogent un seul champ à la fois, définissez un index pour ce champ en particulier. Si une recherche ou une requête unique est exécutée sur plusieurs champs, vous pouvez définir un index pour tous les champs fréquemment interrogés ensemble.
Il est recommandé de ne pas ajouter d’index à des champs qui sont mis à jour fréquemment, car l’actualisation d’un champ pour lequel un index est défini peut être plus longue. Il est également inutile d’ajouter un index à des champs qui ne seront pas interrogés.
Les index occupent un peu d’espace dans la base de données d’entités, et par conséquent, peuvent consommer des crédits.
Ajouter un index attributaire
Pour ajouter un index attributaire à un ou plusieurs champs dans une couche ou une table d’une couche d’entités hébergée, procédez comme suit :
- Connectez-vous à l’organisation en tant que propriétaire de la couche d’entités hébergée ou en tant qu’administrateur de l’organisation.
- Ouvrez la page des éléments de la couche d’entités hébergée.
- Cliquez sur l’onglet Settings (Paramètres).
- Faites défiler le contenu pour accéder à la section Manage indexes (Gérer les index).
- Cliquez sur l’onglet Field indexes (Index de champ).
- Utilisez la liste déroulante Layer or table (Couche ou table) pour sélectionner la couche ou la table adéquate.
- Cliquez sur Add index (Ajouter un index).
- Choisissez Attribute (Attribut) et cliquez sur Next (Suivant).
- Sélectionnez le champ auquel ajouter l’index attributaire, puis cliquez sur Add to list (Ajouter à la liste).
Pour définir un index incluant plusieurs champs, sélectionnez un champ supplémentaire et cliquez à nouveau sur Add to list (Ajouter à la liste).
Vous pouvez inclure jusqu’à 16 champs dans un index attributaire. Un index défini sur plusieurs champs est utile pour les requêtes qui interrogent tous les champs simultanément.
- Dans presque tous les cas, conservez l’option Ascending (Croissant).
Créez un index de tri décroissant dans le cas où les requêtes exécutées sur les champs sont des requêtes par ordre décroissant.
- Si le champ auquel vous ajoutez l’index contient des valeurs uniques et contiendra toujours des valeurs uniques, activez le bouton bascule Field values are unique (Les valeurs de champ sont uniques) pour créer un index unique.
Si l’index contient plusieurs champs, la combinaison des valeurs de ces champs doit être unique si vous activez le bouton bascule Field values are unique (Les valeurs de champ sont uniques). Tant que l’un des champs contient des valeurs uniques, la combinaison des valeurs de tous les champs dans l’index sera unique.
- Cliquez sur Create index (Créer un index).
La durée de création de l’index dépend du nombre d’attributs ou de lignes figurant dans la couche ou la table.
L’index est créé et apparaît dans la liste des index sur l’onglet Field indexes (Index de champ).
Ajouter un index de texte intégral à des champs attributaires de type chaîne
Pour ajouter un index de texte intégral à un champ de type chaîne dans une couche ou une table d’une couche d’entités hébergée, procédez comme suit :
- Connectez-vous à l’organisation en tant que propriétaire de la couche d’entités hébergée ou en tant qu’administrateur de l’organisation.
- Ouvrez la page des éléments de la couche d’entités hébergée.
- Cliquez sur l’onglet Settings (Paramètres).
- Faites défiler le contenu pour accéder à la section Manage indexes (Gérer les index).
- Cliquez sur l’onglet Field indexes (Index de champ).
- Utilisez la liste déroulante Layer or table (Couche ou table) pour sélectionner la couche ou la table adéquate.
- Cliquez sur Add index (Ajouter un index).
- Choisissez Full text (Texte intégral) et cliquez sur Next (Suivant).
- Sélectionnez le champ de type chaîne auquel ajouter l’index de texte intégral, puis cliquez sur Add to list (Ajouter à la liste).
Le champ que vous spécifiez ne peut faire partie que d’un seul index.
- Cliquez sur Create index (Créer un index).
La durée de création de l’index dépend du nombre d’attributs ou de lignes figurant dans la couche ou la table.
L’index est créé et apparaît dans la liste des index sur l’onglet Field indexes (Index de champ).
Ajouter un index Columnstore
Les index Columnstore peuvent améliorer les performances des opérations de calcul ou d’agrégation utilisées dans les rapports, tableaux de bord, diagrammes ou graphiques lorsque la couche ou table contient de grandes quantités de données (des millions ou plus d’entités ou de lignes).
Par exemple, si vous configurez un diagramme dans Map Viewer montrant la somme de plusieurs champs d’une couche d’entités, et que vous remarquez que l’affichage du diagramme prend plusieurs secondes, l’ajout d’un index Columnstore à ces champs dans la couche d’entités peut réduire le temps nécessaire à l’affichage du diagramme. De même, si vous créez un tableau de bord représentant les valeurs calculées dans un graphique, et que le chargement du tableau de bord prend du temps, il peut être utile d’ajouter un index Columnstore sur les champs inclus dans le calcul.
Vous pouvez ajouter un index Columnstore par sous-couche ou table dans une couche d’entités hébergée.
Pour ajouter un index Columnstore à un champ, procédez comme suit :
- Connectez-vous à l’organisation en tant que propriétaire de la couche d’entités hébergée ou en tant qu’administrateur de l’organisation.
- Ouvrez la page des éléments de la couche d’entités hébergée.
- Cliquez sur l’onglet Settings (Paramètres).
- Faites défiler le contenu pour accéder à la section Manage indexes (Gérer les index).
- Cliquez sur l’onglet Columnstore indexes (Index Columnstore), puis cliquez sur Add index (Ajouter un index).
L’option Add index (Ajouter un index) est inactive si un index Columnstore est déjà défini pour toutes les sous-couches de la couche d’entités hébergée.
La fenêtre contextuelle Columnstore indexes (Index Columnstore) s’ouvre.
- Utilisez le menu déroulant Layer (Couche) pour sélectionner la sous-couche à laquelle l’index Columnstore sera ajouté.
- Cochez les cases en regard des champs que vous souhaitez indexer.
Si vous connaissez les noms des champs, saisissez-les, un par un, dans la zone de texte Search fields (Champs de recherche). À mesure que vous saisissez les noms, la liste de champs correspondants se met à jour pour vous aider à trouver le champ que vous cherchez.
- Cliquez sur Create index (Créer un index).
La création d’index peut prendre plusieurs secondes.
Une fois l’index créé, la fenêtre contextuelle Columnstore indexes (Index Columnstore) se ferme. Le nouvel index est répertorié dans l’onglet Columnstore indexes (Index Columnstore).
Supprimer des index
Si vous constatez que l’index ajouté n’a pas amélioré les performances des requêtes ou a réduit les performances de requête ou de mise à jour, vous pouvez supprimer l’index.
Vous pouvez aussi supprimer un index si vous estimez que vous avez besoin d’un index dont la définition est différente, par exemple si vous voulez ajouter un champ à l’index parce que deux champs sont fréquemment interrogés ensemble. Dans ce cas, vous devez supprimer l’index existant et en créer un autre qui inclut tous les champs nécessaires.
Remarque :
Vous ne pouvez pas supprimer l’index spatial.
D’autres actions que vous effectuez sur les données hors de cette interface créent également des index. Par exemple, lorsque vous configurez la recherche du contenu d’une carte Web, des index sont créés sur les couches dans la carte Web. De même, lorsque vous ajoutez un filtre à une couche sur une carte Web, Map Viewer ajoute des index aux champs dans la couche.
ArcGIS Online crée également des index sur les champs de suivi de l’éditeur, l’ID d’objet et l’ID d’entité de la couche. Un symbole de verrou est visible en regard de tous ces index de champ système, et vous ne pouvez pas les supprimer.Pour supprimer un index attributaire, de texte intégral ou Columnstore à partir d’une couche ou d’une table dans une couche d’entités hébergée, procédez comme suit :
- Connectez-vous à l’organisation en tant que propriétaire de la couche d’entités hébergée ou en tant qu’administrateur de l’organisation.
- Ouvrez la page des éléments de la couche d’entités hébergée.
- Cliquez sur l’onglet Settings (Paramètres).
- Faites défiler le contenu pour accéder à la section Manage indexes (Gérer les index).
- Pour supprimer un index attributaire ou de texte intégral, cliquez sur l’onglet Field indexes (Index de champ) et procédez comme suit :
- Sélectionnez la couche ou la table pour laquelle retirer l’index.
- Cliquez sur le bouton Delete (Supprimer)
en regard de l’index pour le retirer de la couche ou de la table.Une fenêtre contextuelle de confirmation apparaît.
- Pour confirer la suppression de l’index, cliquez sur OK.
- Pour supprimer un index Columnstore, cliquez sur l’onglet Columnstore indexes (Index Columnstore), puis procédez comme suit :
- Cliquez sur le bouton Delete (Supprimer)
en regard de l’index pour le retirer de la couche ou de la table.Une fenêtre contextuelle de confirmation apparaît.
- Cliquez sur Confirm (Confirmer) pour supprimer l’index.
- Cliquez sur le bouton Delete (Supprimer)
Vous avez un commentaire à formuler concernant cette rubrique ?