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

एसक्यूएल इंडेक्स - चार और इंट के बीच अंतर

कई कारणों से डेटाबेस तालिकाओं में प्राथमिक कुंजी के लिए अक्सर पूर्णांक/पहचान कॉलम का उपयोग किया जाता है। प्राथमिक कुंजी कॉलम अद्वितीय होना चाहिए, अद्यतन करने योग्य नहीं होना चाहिए, और वास्तव में अर्थहीन होना चाहिए। यह एक पहचान कॉलम को एक बहुत अच्छा विकल्प बनाता है क्योंकि सर्वर को आपके लिए अगला मान मिलेगा, वे अद्वितीय होने चाहिए, और पूर्णांक अपेक्षाकृत छोटे और उपयोग करने योग्य होते हैं (एक GUID की तुलना में)।

कुछ डेटाबेस आर्किटेक्ट तर्क देंगे कि अन्य डेटा प्रकारों का उपयोग प्राथमिक कुंजी मानों के लिए किया जाना चाहिए और "अर्थहीन" और "अद्यतन योग्य नहीं" मानदंड दोनों पक्षों पर दृढ़ता से तर्क दिया जा सकता है। भले ही, पूर्णांक/पहचान फ़ील्ड बहुत सुविधाजनक हैं और कई डेटाबेस डिज़ाइनर पाते हैं कि वे संदर्भात्मक अखंडता के लिए उपयुक्त कुंजी मान बनाते हैं।

  1. प्राथमिक कुंजी के लिए सबसे अच्छा विकल्प पूर्णांक डेटा प्रकार हैं क्योंकि पूर्णांक मान वर्ण डेटा प्रकार मानों की तुलना में तेज़ी से संसाधित होते हैं। प्रसंस्करण से पहले एक वर्ण डेटा प्रकार (प्राथमिक कुंजी के रूप में) को ASCII समकक्ष मानों में परिवर्तित करने की आवश्यकता होती है।
  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. एसक्यूएल सर्वर में अनुक्रमणिका, आंतरिक कार्य और अनुक्रमणिका की संरचना

  2. SQL कमांड का उपयोग करके SQL Server 2005 में दिन का नाम दिए गए दिन के नाम को आप कैसे प्रिंट करते हैं?

  3. एसक्यूएल सर्वर में एनएच कैरेक्टर को कैसे बदलें

  4. SQL सर्वर में दिनांक सीमा में सभी दिनांक प्राप्त करें

  5. संग्रहित प्रक्रिया/फ़ंक्शन का उपयोग करके डेटाबेस, टेबल, प्रक्रियाएं बनाना?