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

वर्ण लंबाई में 900 बाइट अनुक्रमणिका आकार सीमा

वर्चर के लिए भंडारण आकार + 2 बाइट्स दर्ज किए गए डेटा की वास्तविक लंबाई है। भले ही कॉलम में 2 बाइट ओवरहेड हो, आप 900 बाइट वर्चर मान को एक कॉलम में डाल सकते हैं जो अनुक्रमित है।

व्यवहार में, आप बना . कर सकते हैं 900 बाइट्स से बड़े आकार के कॉलम पर एक इंडेक्स, लेकिन अगर आप वास्तव में सम्मिलित करने का प्रयास करते हैं तो आपको एक समस्या होगी 900 बाइट्स से बड़ा कुछ:

create table test (
    col varchar(1000)
);
create index test_index on test (col);
-- Warning! The maximum key length is 900 bytes. The index 'test_index' has maximum length of 1000 bytes. For some combination of large values, the insert/update operation will fail.
insert into test select cast(replicate('x', 899) as varchar(1000)); -- Success
insert into test select cast(replicate('y', 900) as varchar(1000)); -- Success
insert into test select cast(replicate('z', 901) as varchar(1000)); -- Fail
-- Msg 1946, Level 16, State 3, Line 8
-- Operation failed. The index entry of length 901 bytes for the index 'test_index' exceeds the maximum length of 900 bytes.

ध्यान रखें कि 900-बाइट की सीमा में दी गई इंडेक्स कुंजी के सभी कॉलम शामिल हैं, जैसा कि यह उदाहरण दिखाता है:

create table test (
      col varchar(1000)
    , otherCol bit -- This column will take a byte out of the index below, pun intended
);
create index test_index on test (col, otherCol);
insert into test select cast(replicate('x', 899) as varchar(1000)), 0; -- Success
insert into test select cast(replicate('y', 900) as varchar(1000)), 0; -- Fail
insert into test select cast(replicate('z', 901) as varchar(1000)), 0; -- Fail

इन स्तंभों के लिए जो सामान्य रूप से किसी अनुक्रमणिका कुंजी के लिए बहुत बड़े होते हैं, आप उन्हें अनुक्रमणिका में शामिल करके अनुक्रमण के कुछ लाभ प्राप्त करने में सक्षम हो सकते हैं।



  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 को प्रारूपित करें

  3. SQL सर्वर में एक जाँच बाधा कैसे बनाएँ (T-SQL उदाहरण)

  4. SQL सर्वर (T-SQL) में किसी दिनांक से माह निकालने के 3 तरीके

  5. SQL सर्वर डेटाबेस प्रतिकृति