Docs
La Recherche⌘ K
  • Accueil
  • À propos de The Graph
  • Réseaux pris en charge
  • Contrats du Protocole
  • Subgraphs
    • Substreams
      • Token API
        • AI Suite
          • Indexing
            • Resources
              Subgraphs > Les meilleures pratiques

              2 minutes

              Meilleure Pratique Subgraph 1 - Améliorer la Vitesse des Requêtes avec le Pruning de Subgraph

              TLDR

              L’élagage supprime les entités archivées de la base de données du Subgraph jusqu’à un bloc donné, et la suppression des entités inutilisées de la base de données d’un Subgraph améliore les performances d’interrogation d’un Subgraph, souvent de façon spectaculaire. L’utilisation de indexerHints est un moyen facile d’élaguer un Subgraph.

              Comment effectuer le Pruning d’un subgraph avec indexerHints

              Ajoutez une section appelée indexerHints dans le manifest.

              indexerHints dispose de trois options de prune :

              • prune : auto : Conserve le minimum d’historique nécessaire tel que défini par l’Indexeur, optimisant ainsi les performances des requêtes. C’est le réglage généralement recommandé et c’est le réglage par défaut pour tous les Subgraphs créés par graph-cli >= 0.66.0.
              • prune: <Nombre de blocs à conserver>: Définit une limite personnalisée sur le nombre de blocs historiques à conserver.
              • prune : never : Pas d’élagage des données historiques ; conserve l’historique complet et est la valeur par défaut s’il n’y a pas de section indexerHints. prune : never devrait être sélectionné si Les requetes Chronologiques sont désirées.

              Nous pouvons ajouter des indexerHints à nos Subgraphs en mettant à jour notre subgraph.yaml :

              1specVersion: 1.3.02schema:3  file: ./schema.graphql4indexerHints:5  prune: auto6dataSources:7  - kind: ethereum/contract8    name: Contract9    network: mainnet

              Points Importants

              • Si les requêtes chronologiques sont souhaitées en plus de l’élagage, l’élagage doit être effectué avec précision pour conserver la fonctionnalité des requêtes chronologiques. Pour cette raison, il n’est généralement pas recommandé d’utiliser indexerHints : prune : auto avec les requêtes chronologiques. Au lieu de cela, élaguez en utilisant indexerHints : prune : <Nombre de blocs à conserver> pour élaguer précisément à une hauteur de bloc qui préserve les données historiques requises par les requêtes chronologiques, ou utilisez prune : never pour conserver toutes les données.

              • Il n’est pas possible de greffer à une hauteur de bloc qui a été élaguée. Si le greffage est effectué de manière routinière et que l’élagage est souhaité, il est recommandé d’utiliser indexerHints : prune : <Nombre de blocs à conserver> qui conservera avec précision un nombre défini de blocs (par exemple, suffisamment pour six mois).

              Conclusion

              L’élagage à l’aide de indexerHints est une meilleure pratique pour le développement de Subgraphs, offrant des améliorations significatives de la performance des requêtes.

              Bonnes pratiques pour les subgraphs 1-6

              1. Améliorer la vitesse des requêtes avec l’élagage des Subgraphs

              2. Améliorer l’indexation et la réactivité des requêtes en utilisant @derivedFrom

              3. Améliorer l’indexation et les performances des requêtes en utilisant des entités immuables et des Bytes comme IDs

              4. Améliorer la vitesse d’indexation en évitant les eth_calls

              5. Simplifier et optimiser avec les séries chronologiques et les agrégations

              6. Utiliser le greffage pour un déploiement rapide des correctifs

              ⁠Edit on GitHub⁠

              Smart Contract Analysis with Cana CLITableaux avec @derivedFrom
              On this page
              • TLDR
              • Comment effectuer le Pruning d’un subgraph avec indexerHints
              • Points Importants
              • Conclusion
              • Bonnes pratiques pour les subgraphs 1-6
              The GraphStatusTestnetActifs de la MarqueForumSécuritéPolitique de confidentialitéConditions d'utilisation