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