इंडेक्सेस

SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

Dean Smith

Founder, Atamai Analytics

इंडेक्स क्या है?

  • टेबल से डेटा एक्सेस की स्पीड बढ़ाने की संरचना
  • पूरी टेबल स्कैन किए बिना डेटा जल्दी ढूँढने के लिए
  • फ़िल्टर कंडीशन वाली क्वेरी की परफॉर्मेंस सुधारने में उपयोगी
  • टेबल के कॉलम पर लागू
  • आम तौर पर डेटाबेस एडमिनिस्ट्रेटर जोड़ते हैं
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

क्लस्टर्ड और नॉन-क्लस्टर्ड इंडेक्सेस

क्लस्टर्ड इंडेक्स

  • उपमा: डिक्शनरी
  • टेबल डेटा पेज, इंडेक्स वाले कॉलम के अनुसार ऑर्डर होते हैं
  • प्रति टेबल केवल एक की अनुमति
  • सर्च ऑपरेशंस तेज होते हैं
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

क्लस्टर्ड और नॉन-क्लस्टर्ड इंडेक्सेस

क्लस्टर्ड इंडेक्स

  • उपमा: डिक्शनरी
  • टेबल डेटा पेज, इंडेक्स वाले कॉलम के अनुसार ऑर्डर होते हैं
  • प्रति टेबल केवल एक की अनुमति
  • सर्च ऑपरेशंस तेज होते हैं

नॉन-क्लस्टर्ड इंडेक्स

  • उपमा: पीछे इंडेक्स वाले टेक्स्टबुक
  • संरचना में अनऑर्डर्ड टेबल डेटा पेज तक जाने वाले इंडेक्स पॉइंटर्स की ऑर्डर्ड लेयर होती है
  • एक टेबल में एक से अधिक हो सकते हैं
  • इन्सर्ट और अपडेट ऑपरेशंस बेहतर होते हैं
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

क्लस्टर्ड इंडेक्स: B-tree संरचना

 

  • ROOT NODE

 

  • BRANCH NODES

 

  • PAGE NODES
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

क्लस्टर्ड इंडेक्स: B-tree संरचना

ROOT NODE:                          
                                    A G O W
BRANCH NODES:
                A B E F             G H J K             O P S T
PAGE NODES:
          Page 1             Page 2             Page 3              Page 4
       Index Column |...  Index Column |...  Index Column | ...  Index Column | ...
       A | ...            E | ...            I | ...             M | ...
       B | ...            F | ...            J | ...             N | ...
       C | ...            G | ...            K | ...             O | ...
       D | ...            H | ...            L | ...             P | ...
       ...                ...                ...                 ...
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

क्लस्टर्ड इंडेक्स के बिना Customers टेबल

SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
PAGE NODES:
            Page 1
         CustomerID |...
         ALFKI | ... 
         ANATR | ...
         BLONP | ... 
         BSBEV | ...
         ...                 
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

क्लस्टर्ड इंडेक्स के बिना Customers टेबल

SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
PAGE NODES:
            Page 1              Page 2
         CustomerID |...     CustomerID|...
         ALFKI | ...         FOLIG | ...
         ANATR | ...         FRANK | ...
         BLONP | ...         GALED | ...
         BSBEV | ...         GREAL | ...
         ...                 ...
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

क्लस्टर्ड इंडेक्स के बिना Customers टेबल

SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
PAGE NODES:
            Page 1              Page 2              Page 3
         CustomerID |...     CustomerID|...      CustomerID | ... 
         ALFKI | ...         FOLIG | ...         LILAS | ...  
         ANATR | ...         FRANK | ...         LINOD | ...  
         BLONP | ...         GALED | ...         MEREP | ...  
         BSBEV | ...         GREAL | ...         MORGK | ...   
         ...                 ...                 ...          
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

क्लस्टर्ड इंडेक्स के बिना Customers टेबल

SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
PAGE NODES:
            Page 1              Page 2              Page 3               Page 4
         CustomerID |...     CustomerID|...      CustomerID | ...     CustomerID | ...
         ALFKI | ...         FOLIG | ...         LILAS | ...          OCEAN | ...
         ANATR | ...         FRANK | ...         LINOD | ...          PARIS | ...
         BLONP | ...         GALED | ...         MEREP | ...           
         BSBEV | ...         GREAL | ...         MORGK | ...          
         ...                 ...                 ...                  ...
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

क्लस्टर्ड इंडेक्स के साथ Customers टेबल

SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
ROOT NODE:                          
                                         ALFKI FOLIG OLDWO WOLZA
BRANCH NODES:
              ALFKI BONAP DRACD FISSA    FOLIG GALED LILAS NORTS    OCEAN OLDWO QUICK WOLZA
PAGE NODES:
                    Page 1              Page 2              Page 3               Page 4
                 CustomerID |...     CustomerID|...      CustomerID | ...     CustomerID | ...
                 ALFKI | ...         FOLIG | ...         LILAS | ...          OCEAN | ...
                 ANATR | ...         FRANK | ...         LINOD | ...          PARIS | ...
                 BLONP | ...         GALED | ...         MEREP | ...          PICCO | ...
                 BSBEV | ...         GREAL | ...         MORGK | ...          QUICK | ...
                 ...                 ...                 ...                  ...
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

क्लस्टर्ड इंडेक्स के साथ Customers टेबल

SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
ROOT NODE:                          
                                                     OLDWO WOLZA
BRANCH NODES:
              ALFKI BONAP DRACD FISSA    FOLIG GALED LILAS NORTS    OCEAN OLDWO QUICK WOLZA
PAGE NODES:
                    Page 1              Page 2              Page 3               Page 4
                 CustomerID |...     CustomerID|...      CustomerID | ...     CustomerID | ...
                 ALFKI | ...         FOLIG | ...         LILAS | ...          OCEAN | ...
                 ANATR | ...         FRANK | ...         LINOD | ...          PARIS | ...
                 BLONP | ...         GALED | ...         MEREP | ...          PICCO | ...
                 BSBEV | ...         GREAL | ...         MORGK | ...          QUICK | ...
                 ...                 ...                 ...                  ...
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

क्लस्टर्ड इंडेक्स के साथ Customers टेबल

SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
ROOT NODE:                          
                                                     OLDWO WOLZA
BRANCH NODES:
                                                                          OLDWO QUICK 
PAGE NODES:
                    Page 1              Page 2              Page 3               Page 4
                 CustomerID |...     CustomerID|...      CustomerID | ...     CustomerID | ...
                 ALFKI | ...         FOLIG | ...         LILAS | ...          OCEAN | ...
                 ANATR | ...         FRANK | ...         LINOD | ...          PARIS | ...
                 BLONP | ...         GALED | ...         MEREP | ...          PICCO | ...
                 BSBEV | ...         GREAL | ...         MORGK | ...          QUICK | ...
                 ...                 ...                 ...                  ...
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

क्लस्टर्ड इंडेक्स के साथ Customers टेबल

SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
ROOT NODE:                          
                                                     OLDWO WOLZA
BRANCH NODES:
                                                                          OLDWO QUICK 
PAGE NODES:
                                                                                 Page 4
                                                                              CustomerID | ...
                                                                              OCEAN | ...
                                                                              PARIS | ...
                                                                              PICCO | ...
                                                                              QUICK | ...
                                                                              ...
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

क्लस्टर्ड इंडेक्स के साथ Customers टेबल

SELECT *
FROM Customers
WHERE CustomerID = "PARIS"
ROOT NODE:                          
                                                     OLDWO WOLZA
BRANCH NODES:
                                                                          OLDWO QUICK 
PAGE NODES:
                                                                                 Page 4
                                                                              CustomerID | ...



                                                                             PARIS | ...


SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

क्लस्टर्ड इंडेक्स: उदाहरण

SET STATISTICS IO ON
SELECT * 
FROM PlayerStats 
WHERE Team = 'OKC'

PlayerStats टेबल बिना इंडेक्स के

Table 'PlayerStats'. ..., logical reads 12, ...

 

PlayerStats टेबल में Team पर क्लस्टर्ड इंडेक्स के साथ

Table 'PlayerStats'. ..., logical reads 2, ...
SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

अभ्यास करते हैं!

SQL Server में क्वेरी परफ़ॉर्मेंस बेहतर करना

Preparing Video For Download...