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

प्राथमिक कुंजी छँटाई

डेटा को भौतिक रूप से संकुल अनुक्रमणिका द्वारा संग्रहीत किया जाता है, जो आमतौर पर प्राथमिक कुंजी होती है लेकिन इसका होना आवश्यक नहीं है।

SQL में डेटा को ORDER BY क्लॉज के बिना ऑर्डर करने की गारंटी नहीं है। जब आपको किसी विशेष क्रम में डेटा की आवश्यकता हो, तो आपको हमेशा ORDER BY क्लॉज निर्दिष्ट करना चाहिए। यदि तालिका को पहले से ही इस तरह से क्रमबद्ध किया गया है, तो अनुकूलक कोई अतिरिक्त कार्य नहीं करेगा, इसलिए इसे वहां रखने में कोई बुराई नहीं है।

ORDER BY क्लॉज के बिना, RDBMS आपकी क्वेरी से मेल खाते कैश्ड पेज लौटा सकता है, जबकि यह डिस्क से रिकॉर्ड्स को पढ़ने की प्रतीक्षा करता है। उस स्थिति में, भले ही टेबल पर कोई इंडेक्स हो, डेटा इंडेक्स के क्रम में नहीं आ सकता है। (ध्यान दें कि यह सिर्फ एक उदाहरण है - मुझे नहीं पता या यहां तक ​​​​कि लगता है कि एक वास्तविक दुनिया RDBMS ऐसा करेगा, लेकिन यह SQL कार्यान्वयन के लिए स्वीकार्य व्यवहार है।)

संपादित करें

यदि छँटाई नहीं करते समय बनाम छँटाई करते समय आपका प्रदर्शन प्रभाव पड़ता है, तो आप संभवतः एक ऐसे स्तंभ (या स्तंभों के समूह) पर छँटाई कर रहे हैं जिसमें कोई अनुक्रमणिका (क्लस्टर या अन्यथा) नहीं है। यह देखते हुए कि यह एक समय श्रृंखला है, आप समय के आधार पर छँटाई कर सकते हैं, लेकिन संकुल सूचकांक प्राथमिक बिगिन्ट पर है। SQL सर्वर नहीं जानता कि दोनों एक ही तरह से बढ़ते हैं, इसलिए उसे हर चीज का सहारा लेना पड़ता है।

यदि समय स्तंभ और प्राथमिक कुंजी स्तंभ क्रमानुसार संबंधित हैं (एक बढ़ता है यदि और केवल तभी जब दूसरा बढ़ता है या वही रहता है), इसके बजाय प्राथमिक कुंजी द्वारा क्रमबद्ध करें। यदि वे इस तरह से संबंधित नहीं हैं, तो संकुल अनुक्रमणिका को प्राथमिक कुंजी से उस किसी भी स्तंभ (स्तंभों) में ले जाएँ, जिसके आधार पर आप क्रमित कर रहे हैं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SqlDataSourceEnumerator.Instance.GetDataSources() स्थानीय SQL सर्वर 2008 आवृत्ति का पता नहीं लगाता है

  2. SQL सर्वर त्रुटि - HRESULT E_FAIL को कॉल से COM घटक में वापस कर दिया गया है

  3. डेटाबेस डिजाइन में प्राथमिक कुंजी के रूप में विशिष्ट पहचानकर्ता (गाइड)

  4. HTTP स्थिति 401 के साथ अनुरोध विफल हुआ:SSRS में अनधिकृत

  5. गतिशील रूप से कॉलम बनाएं sql