10014 : Les temps d'accès requis pour les jointures peuvent ralentir l'affichage de la couche
Vous utilisez un champ de jointure dans une couche, ce qui peut nuire aux performances d'affichage de la carte.
Solutions
Tout d'abord, vérifiez les performances d'affichage de la couche de fond de carte dans ArcMap ou le service de carte dans la fenêtre Aperçu. Reportez-vous aux rubriques Utilisation des couches de fond de carte ou Publication de services de carte pour plus d'informations. Si vous pensez qu'il est nécessaire d'effectuer des modifications, voici quelques suggestions :
- Ajoutez directement la colonne attributaire à la classe d'entités et modifiez les propriétés des couches afin d'utiliser ce nouveau champ.
- Vous pouvez également modifier l'implémentation de votre couche et de la base de données afin de vérifier que vous obtenez des performances d'affichage optimales. De nombreux conseils ci-dessous fournissent des informations sur les pratiques conseillées en vue d'améliorer les performances d'affichage lors de l'utilisation de champs de jointure.
Plus d'informations
La plupart des directives de création des bases de données favorise l'organisation sur la base de tables multiples - chacune se concentrant sur un ensemble de colonnes spécifique - au lieu d'une grande table contenant tous les champs nécessaires. Cette méthode évite de devoir dupliquer les informations dans la base de données puisque les données ne sont saisies qu'une fois dans une seule table. Lorsque vous avez besoin d'informations ne figurant pas dans la table avec laquelle vous travaillez, vous avez la possibilité de relier les deux tables. Pour obtenir une vue d'ensemble plus détaillée, reportez-vous à la rubrique A propos de la jointure et de la mise en relation des tables.
La jointure de tables à une classe d'entités permet généralement d'ajouter les champs de la table à ceux de la table de classes d'entités sur la base d'un attribut ou d'un champ commun aux deux tables. Vous obtenez ainsi un stockage efficace, mais les performances risquent d'être affectées.
Astuces
Voici quelques conseils destinés à vous aider à améliorer les performances de manière incrémentielle dans un affichage cartographique dynamique.
- ESRI recommande vivement d'utiliser des géodatabases fichier et ArcSDE plutôt que des géodatabases personnelles pour des raisons de performances et pour mettre à l'échelle les bases de données avec des tailles supérieures à 4 Go. Reportez-vous à la rubrique Types de géodatabases pour plus d'informations.
- Pour obtenir des performances optimales avec les géodatabases, utilisez des géodatabases ArcSDE. Dans certaines situations impliquant de nombreux utilisateurs simultanés, les géodatabases ArcSDE sont plus rapides. Comme les géodatabases ArcSDE sont basées sur un SGBD, elles sont mieux adaptées que les géodatabases fichier dans des situations où un grand nombre d'utilisateurs sont présents (des centaines d'utilisateurs ou davantage).
- Pour des performances optimales, conservez votre table de classes d'entités et la table attributaire de jointure dans une géodatabase commune. Si cela n'est pas possible, les performances se dégradent. La table suivante résume les implications potentielles en termes de performances :
Implications en termes de performances de la table de jointureClasse d'entités de base
Table de jointure
Utiliser des colonnes de la table de base à l'aide de la jointure interne (sélection des enregistrements assortis)
Utiliser des colonnes de la table de jointure à l'aide de la jointure interne (sélection des enregistrements assortis)
Utiliser des colonnes de la table de jointure avec la jointure externe (sélection de tous les enregistrements)
Géodatabase personnelle
Tout SGBD comprenant une géodatabase personnelle
Très lent
Très lent
Très lent
Géodatabase fichier
Géodatabase fichier
Rapide
Rapide
Rapide
Géodatabase fichier
géodatabase ArcSDE
Lent
Lent
Lent
géodatabase ArcSDE
Géodatabase fichier
Rapide
Rapide
Rapide
géodatabase ArcSDE
géodatabase ArcSDE
Rapide
Rapide
Lent
géodatabase ArcSDE
Vers un autre SGBD
Lent
Lent
Lent
- Créez des index attributaires sur vos champs de jointure à la fois dans la table de classes d'entités et dans la table de jointure.