Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

SQL सर्वर पंक्तियों की अनुमानित संख्या कैसे निर्धारित करता है?

SQL Server प्रत्येक अनुक्रमणिका को 200 . तक विभाजित करता है निम्न डेटा के साथ श्रेणी (यहां से ):

आमतौर पर, अधिकांश आबादी वाले मान RANGE_HI_KEY . में जाते हैं ।

हालांकि, वे सीमा में आ सकते हैं और इससे वितरण में विषमता हो सकती है।

इन आंकड़ों की कल्पना करें (दूसरों के बीच):

मुख्य मान पंक्तियों की संख्या

1          1
2          1
3          10000
4          1

SQL Server आमतौर पर दो श्रेणियां बनाता है:1 करने के लिए 3 और 4 अगले आबादी वाले मान पर, जो ये आंकड़े बनाता है:

RANGE_HI_KEY  RANGE_ROWS  EQ_ROWS  AVG_RANGE_ROWS  DISTINCT_RANGE_ROWS
3             2           10000    1               2

, जिसका अर्थ है खोजते समय, मान लें, 2 , लेकिन 1 . है पंक्ति और अनुक्रमणिका पहुंच का उपयोग करना बेहतर है।

लेकिन अगर 3 सीमा के अंदर जाता है, आँकड़े ये हैं:

RANGE_HI_KEY  RANGE_ROWS  EQ_ROWS  AVG_RANGE_ROWS  DISTINCT_RANGE_ROWS
4             10002       1        3334            3

अनुकूलक सोचता है कि 3334 हैं कुंजी के लिए पंक्तियाँ 2 और अनुक्रमणिका का उपयोग बहुत महंगा है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL सर्वर के sys.dm_sql_referenced_entities() का उदाहरण एक लिंक किए गए सर्वर को संदर्भित करने वाली इकाई को लौटाना

  2. सी # पैरामीटर के रूप में सूची के साथ SQL तालिका में डालें

  3. isnull बनाम शून्य है

  4. टी-एसक्यूएल केस क्लॉज:जब बाहरी जॉइन के साथ NULL निर्दिष्ट करने पर समस्या

  5. किसी वर्ण की पहली घटना तक सभी का चयन करें