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

क्या पहचान कॉलम के लिए एक अद्वितीय पहचानकर्ता (GUID) या एक बड़ा उपयोग करना बेहतर है?

यह इस बात पर निर्भर करता है कि आप क्या कर रहे हैं:

  • यदि गति प्राथमिक चिंता है तो एक सादा पुराना int शायद काफी बड़ा है।
  • यदि आपके पास वास्तव में 2 अरब से अधिक (बी के साथ;) रिकॉर्ड होंगे, तो bigint का उपयोग करें या एक अनुक्रमिक गाइड।
  • यदि आप दूरस्थ रूप से बनाए गए रिकॉर्ड के साथ आसानी से सिंक्रनाइज़ करने में सक्षम होना चाहते हैं, तो Guid वास्तव में बहुत अच्छा है।

अपडेट करें
Guids पर कुछ अतिरिक्त (कम स्पष्ट) नोट:

  • वे अनुक्रमणिका पर कठोर हो सकते हैं, और यह डेटाबेस के प्रदर्शन के मूल में कटौती करता है
  • आप कुछ अनुक्रमण प्रदर्शन वापस पाने के लिए अनुक्रमिक गाइड का उपयोग कर सकते हैं, लेकिन बिंदु दो में उपयोग की गई कुछ यादृच्छिकता को छोड़ दें।
  • गाइड को हाथ से डिबग करना कठिन हो सकता है (where id='xxx-xxx-xxxxx' ), लेकिन आप उनमें से कुछ को अनुक्रमिक गाइड के माध्यम से भी वापस प्राप्त करते हैं (where id='xxx-xxx' + '123' )
  • इसी कारण से, गाइड आईडी-आधारित सुरक्षा हमलों को और अधिक कठिन बना सकते हैं- लेकिन असंभव नहीं। (आप केवल 'http://example.com?userid=xxxx' . टाइप नहीं कर सकते और किसी और के खाते के लिए परिणाम प्राप्त करने की अपेक्षा करें)।


  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

  2. बीसीपी कोई त्रुटि नहीं देता है, लेकिन किसी भी पंक्ति की प्रतिलिपि नहीं बनाता है

  3. टीएसक्यूएल लेनदेन के भीतर प्रयास करें/पकड़ें या इसके विपरीत?

  4. माइक्रोसॉफ्ट एसक्यूएल सर्वर 2008 में एक क्वेरी चलाने से पहले कैसे पता चलेगा कि कितनी पंक्तियां प्रभावित होंगी?

  5. SQL सर्वर में सेलेक्ट से अपडेट कैसे करें