Docs
खोज⌘ K
  • Home
  • The Graph के बारे में
  • समर्थित नेटवर्क
  • Protocol Contracts
  • सबग्राफ
    • सबस्ट्रीम
      • टोकन API
        • AI Suite
          • Overview
          • Indexer टूलिंग
            • GraphTally Guide
            • Supported Network Requirements
            • Chain Integration Process Overview
            • नई श्रृंखला एकीकरण
            • संसाधन
              सबग्राफ > Best Practices

              2 मिनट

              सबग्राफ बेस्ट प्रैक्टिस 1 - सबग्राफ प्रूनिंग के साथ क्वेरी की गति में सुधार करें

              TLDR

              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 के साथ subgraph को prune करने का तरीका

              Manifest में एक section को indexerHints के नाम से जोड़ें।

              indexerHints में तीन prune विकल्प होते हैं:

              • 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: <Number of blocks to retain>: ऐतिहासिक ब्लॉकों को बनाए रखने की संख्या पर एक कस्टम सीमा निर्धारित करता है।
              • prune: never: ऐतिहासिक डेटा को कभी भी नहीं हटाया जाता; यह संपूर्ण इतिहास को बनाए रखता है और यदि indexerHints अनुभाग नहीं है तो यह डिफ़ॉल्ट होता है। यदि Time Travel Queries आवश्यक हैं तो prune: never का चयन किया जाना चाहिए।

              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

              महत्वपूर्ण विचार

              • यदि Time Travel Queries की आवश्यकता हो और साथ ही pruning भी करनी हो, तो Time Travel Query की कार्यक्षमता बनाए रखने के लिए pruning को सटीक रूप से करना आवश्यक है। इसी कारण, आमतौर पर Time Travel Queries के साथ indexerHints: prune: auto का उपयोग करने की अनुशंसा नहीं की जाती है। इसके बजाय, indexerHints: prune: <Number of blocks to retain> का उपयोग करें ताकि उस ब्लॉक ऊँचाई तक सटीक रूप से pruning हो सके, जो Time Travel Queries के लिए आवश्यक ऐतिहासिक डेटा को सुरक्षित रखे, या फिर prune: never का उपयोग करें ताकि सभी डेटा सुरक्षित रहे।

              • यह संभव नहीं है कि किसी ब्लॉक ऊंचाई पर graft किया जाए जो कि हटा दिया गया हो। यदि grafting नियमित रूप से की जाती है और हटाने की आवश्यकता होती है, तो यह अनुशंसित है कि indexerHints: prune: <Number of blocks to retain> का उपयोग करें, जो सटीक रूप से एक निर्धारित संख्या में ब्लॉक बनाए रखेगा (उदाहरण के लिए, छह महीनों के लिए पर्याप्त)।

              निष्कर्ष

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

              सबग्राफ सर्वोत्तम प्रथाएँ 1-6

              1. सबग्राफ की गति में सुधार करें सबग्राफ प्रूनिंग के साथ

              2. indexing और क्वेरी प्रतिसादशीलता में सुधार करें @derivedFrom का उपयोग करके

              3. अपरिवर्तनीय entities और Bytes को ID के रूप में उपयोग करके Indexing और क्वेरी प्रदर्शन में सुधार करें

              4. indexing गति में सुधार करें eth_calls से बचकर

              5. समय श्रृंखला और समुच्चयन के साथ सरल और अनुकूलित करें

              6. त्वरित हॉटफ़िक्स परिनियोजन के लिए ग्राफ्टिंग का उपयोग करें

              ⁠GitHub पर संपादित करें⁠

              Smart Contract Analysis with Cana CLIArrays with @derivedFrom
              इस पृष्ठ पर
              • TLDR
              • IndexerHints के साथ subgraph को prune करने का तरीका
              • महत्वपूर्ण विचार
              • निष्कर्ष
              • सबग्राफ सर्वोत्तम प्रथाएँ 1-6
              The GraphStatusTestnetBrand AssetsForumSecurityPrivacy PolicyTerms of Service