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 bygraph-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ü yoksaprune: never
varsayılandır. Zaman Yolculuğu Sorguları isteniyorsaprune: 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çinindexerHints: prune: <Korunacak blok sayısı>
kullanın veya tüm veriyi korumak içinprune: 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.