Skip to main content

10014 : Le temps d’accès aux jointures est susceptible de ralentir l’affichage de la couche

Vous utilisez un champ joint dans une couche, qui peut affecter les performances d’affichage. Le nom du ou des champs ainsi qu’une description du problème potentiel sont fournis.

Solutions

Effectuez l’une des opérations suivantes :

  • Révisez les métriques d’affichage pour cette couche. Si vous partagez la couche, révisez les métriques d’accès aux données pour le service.

  • Ajoutez la colonne attributaire directement dans votre classe d’entités et modifiez les propriétés de votre carte et de votre couche pour utiliser ce nouveau champ.

  • Ajustez votre implémentation de couche et de base de données pour vous assurer d’obtenir les meilleures performances de dessin. La plupart des conseils ci-dessous fournissent des indications et des bonnes pratiques pour améliorer les performances d’affichage lors de l’utilisation de champs de jointure.

Informations supplémentaires

La plupart des instructions de conception de base de données préconisent l’organisation de la base de données en plusieurs tables, chacune centrée sur un ensemble spécifique de colonnes, plutôt que l’utilisation d’une seule grande table contenant tous les champs nécessaires. Avoir plusieurs tables évite la duplication des informations dans la base de données, car les informations ne sont stockées qu’une seule fois dans une même table. Lorsque vous avez besoin d’informations qui ne figurent pas dans la table actuelle, vous pouvez lier les deux tables ensemble.

En savoir plus sur les jointures et les relations.

La jointure des tables à une classe d’entités consiste généralement à ajouter les champs de la table à ceux de la table de la classe d’entités via un attribut ou un champ commun aux deux tables. Cela offre un stockage efficace, mais peut avoir des conséquences en termes de performances.

Conseils

Voici quelques conseils permettant d’améliorer les performances pour un affichage de carte dynamique.

  • Pour de meilleures performances, utilisez une géodatabase d’entreprise. Dans les situations impliquant des utilisateurs simultanés, les géodatabases d’entreprise sont plus rapides. Comme les géodatabases d’entreprise sont basées sur un SGBD, elles sont mieux adaptées que les géodatabases fichier dans les situations impliquant un grand nombre d’utilisateurs (des centaines d’utilisateurs ou davantage).

  • Pour des performances optimales, conservez votre table de classes d’entités et la table attributaire jointe dans une seule géodatabase commune. Si ce n’est pas possible, les performances diminuent. La table suivante résume les implications potentielles sur la performance des jointures :

Classe d’entités de base Table de jointure Utilisez les colonnes de la table de base avec une jointure interne (sélectionnez les lignes correspondantes) Utilisez les colonnes de la table de jointure avec une jointure interne (sélectionnez les lignes correspondantes) Utilisez les colonnes de la table de jointure avec une jointure externe (sélectionnez tous les enregistrements)
Géodatabase personnelle Toute SGBD, y compris la 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 d’entreprise Lent Lent Lent
Géodatabase d’entreprise Géodatabase fichier Rapide Rapide Rapide
Géodatabase d’entreprise Géodatabase d’entreprise Rapide Rapide Lent
Géodatabase d’entreprise Vers une autre SGBD Lent Lent Lent
  • Créez des index attributaires sur vos champs joints, à la fois dans la table des classes d’entités et dans la table de jointure.