Docs
Arama⌘ K
  • Ana sayfa
  • Graph Hakkında
  • Desteklenen Ağlar
  • Protocol Contracts
  • Subgraph'ler
    • Substream'ler
      • Token API
        • Hypergraph
          • AI Suite
            • Endeksleme
              • Graph Horizon
                • 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