Docs
Arama⌘ K
  • Ana sayfa
  • Graph Hakkında
  • Desteklenen Ağlar
  • Protocol Contracts
  • Subgraph'ler
    • Substream'ler
      • Token API
        • AI Suite
          • Endeksleme
            • Kaynaklar
              Subgraph'ler > En İyi Uygulamalar

              2 dakika

              Subgraph Örnek Uygulama 1 - Subgraph Budama ile Sorgu Hızını Artırın

              Özet

              Pruning removes archival entities from the Subgraph’s database up to a given block, and removing unused entities from a Subgraph’s database will improve a Subgraph’s query performance, often dramatically. Using indexerHints is an easy way to prune a Subgraph.

              indexerHints ile Bir Subgraph’i Nasıl Budayabilirsiniz

              Manifestoya indexerHints adlı bir bölüm ekleyin.

              indexerHints üç prune (budama) seçeneğine sahiptir:

              • prune: auto: Retains the minimum necessary history as set by the Indexer, optimizing query performance. This is the generally recommended setting and is the default for all Subgraphs created by graph-cli >= 0.66.0.
              • prune: <Korunacak blok sayısı>: Korunacak olan geçmiş blokların sayısı için özel bir limit belirler.
              • prune: never: Geçmiş verilerin budanması yoktur; tüm geçmişi korur. indexerHints bölümü yoksa prune: never varsayılandır. Zaman Yolculuğu Sorguları isteniyorsa prune: never seçilmelidir.

              We can add indexerHints to our Subgraphs by updating our subgraph.yaml:

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

              Önemli Hususlar

              • Zaman Yolculuğu Sorguları budama ile birlikte isteniyorsa, bu sorgular işlevselliğini korumak için budama doğru bir şekilde gerçekleştirilmelidir. Bu nedenle, genellikle indexerHints: prune: auto’yu Zaman Yolculuğu Sorguları ile kullanmak önerilmez. Bunun yerine, Zaman Yolculuğu Sorgularının gerektirdiği tarihsel verileri koruyan bir blok yüksekliğine doğru şekilde budamak için indexerHints: prune: <Korunacak blok sayısı> kullanın veya tüm veriyi korumak için prune: never kullanarak budama yapmamayı seçin.

              • Budanan bir blok yüksekliğinde aşılama yapılamaz. Aşılama rutin olarak yapılıyorsa ve budama isteniyorsa, belirli bir blok sayısını (örneğin, altı ay yetecek kadar) doğru bir şekilde koruyacak indexerHints: prune: <Korunacak blok sayısı> ayarı kullanılması önerilir.

              Sonuç

              Pruning using indexerHints is a best practice for Subgraph development, offering significant query performance improvements.

              Subgraph Örnek Uygulamalar 1-6

              1. Improve Query Speed with Subgraph Pruning

              2. Improve Indexing and Query Responsiveness by Using @derivedFrom

              3. Improve Indexing and Query Performance by Using Immutable Entities and Bytes as IDs

              4. Improve Indexing Speed by Avoiding eth_calls

              5. Simplify and Optimize with Timeseries and Aggregations

              6. Use Grafting for Quick Hotfix Deployment

              ⁠GitHub'da Düzenle⁠

              Smart Contract Analysis with Cana CLIArrays with @derivedFrom
              Bu sayfada
              • Özet
              • indexerHints ile Bir Subgraph’i Nasıl Budayabilirsiniz
              • Önemli Hususlar
              • Sonuç
              • Subgraph Örnek Uygulamalar 1-6
              The GraphStatusTestnetBrand AssetsForumSecurityPrivacy PolicyTerms of Service