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

SQL सर्वर:क्या NEWID () हमेशा एक विशिष्ट आईडी देता है?

दोनों NEWID() और NEWSEQUENTIALID() विश्व स्तर पर अद्वितीय मान दें uniqueidentifier

NEWID() यादृच्छिक गतिविधि शामिल है, इस प्रकार अगला मान अप्रत्याशित है, और यह निष्पादित करने में धीमा है।

NEWSEQUENTIALID() यादृच्छिक गतिविधि शामिल नहीं है, इस प्रकार अगले उत्पन्न मूल्य का अनुमान लगाया जा सकता है (आसानी से नहीं!) और NEWID() . की तुलना में तेज़ी से निष्पादित होता है ।

इसलिए, यदि आप अगले मूल्य की भविष्यवाणी (सुरक्षा कारणों से) के बारे में चिंतित नहीं हैं, तो आप NEWSEQUENTIALID() का उपयोग कर सकते हैं . यदि आप पूर्वानुमेयता के बारे में चिंतित हैं या आपको छोटे प्रदर्शन दंड से कोई आपत्ति नहीं है तो आप NEWID() का उपयोग कर सकते हैं ।

हालांकि, सख्त अर्थ में, अभी भी नगण्य संभावनाएं हैं कि विभिन्न मशीनों द्वारा उत्पन्न GUID का मूल्य समान है। व्यवहार में, इसे असंभव माना जाता है।

यदि आप अधिक जानकारी चाहते हैं, तो इसे पढ़ें:-the-guid-is-really-uniqu">यह सुनिश्चित करने के लिए कि GUID वास्तव में अद्वितीय है, GUID बनाने के लिए कौन सी विधि सर्वोत्तम है?

नोट NEWID() RFC 4122 का अनुपालन करता है . और दूसरा फ़ंक्शन मान उत्पन्न करने के लिए Microsoft के एल्गोरिथम का उपयोग करता है।



  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. jdbctemplate के माध्यम से एसक्यूएल डालने से पहचान

  3. NOT IN क्लॉज के अंदर NULL मान

  4. क्या एमएएमपी को लोकलहोस्ट पर आईपी के रूप में ::1 लौटाना चाहिए?

  5. एसक्यूएल पासवर्ड रीसेट करने के लिए सरल एसक्यूएल पासवर्ड परिवर्तक उपयोगिता