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

SQL सर्वर डेटाबेस में सभी अशक्त स्तंभों की सूची बनाएं

डेटाबेस में अशक्त कॉलम कभी-कभी प्रदर्शन समस्याओं का कारण बन सकते हैं। यह निश्चित रूप से यह नहीं कहना है कि अशक्त स्तंभ हमेशा प्रदर्शन समस्याओं का कारण बनेंगे, लेकिन यदि आपके पास प्रदर्शन समस्याएं होती हैं, तो अशक्त स्तंभों की पहचान संभावित रूप से कुछ सुराग प्रदान कर सकती है कि समस्या कहां है। कभी-कभी कॉलम बनाना NOT NULL प्रदर्शन में सुधार करने में मदद कर सकता है।

"शून्य कॉलम" से मेरा मतलब है, कॉलम जो न्यूल के लिए अनुमति देते हैं। यदि कॉलम की परिभाषा में NOT NULL शामिल नहीं है , तो यह NULL मानों की अनुमति देता है और यह "शून्य" है।

नीचे कोड है जो आपको SQL सर्वर में डेटाबेस में सभी अशक्त स्तंभों को सूचीबद्ध करने की अनुमति देता है।

उदाहरण 1 - INFORMATION_SCHEMA.COLUMNS

यह सूचना स्कीमा दृश्य उन सभी स्तंभों को सूचीबद्ध करता है जिन तक वर्तमान डेटाबेस में वर्तमान उपयोगकर्ता द्वारा पहुँचा जा सकता है। इसमें IS_NULLABLE . नाम का एक कॉलम होता है . यदि प्रासंगिक कॉलम NULL की अनुमति देता है, तो यह कॉलम YES returns देता है . अन्यथा, नहीं लौटा दिया गया है।

SELECT *
FROM INFORMATION_SCHEMA.COLUMNS
WHERE IS_NULLABLE = 'YES';

यह दृश्य से सभी स्तंभों को सूचीबद्ध करता है।

उदाहरण 2 - INFORMATION_SCHEMA.COLUMNS कम कॉलम निर्दिष्ट के साथ

हो सकता है कि आप नहीं चाहते कि सभी कॉलम दृश्य से वापस आ जाएं। यहां एक उदाहरण दिया गया है जिसमें कम कॉलम लौटाए गए हैं।

SELECT
    TABLE_SCHEMA,
    TABLE_NAME,
    COLUMN_NAME,
    COLUMN_DEFAULT,
    DATA_TYPE
FROM INFORMATION_SCHEMA.COLUMNS
WHERE IS_NULLABLE = 'YES'
ORDER BY TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME;

उदाहरण 3 - sys.columns का उपयोग करना

यदि आप INFORMATION_SCHEMA.COLUMNS का उपयोग नहीं करना चाहते हैं देखें, तो आप sys.columns . को क्वेरी कर सकते हैं इसके बजाय देखें।

हालांकि, यदि आप टेबल और/या स्कीमा आदि वापस करना चाहते हैं, तो आपको कुछ जॉइन करने की आवश्यकता होगी।

उदाहरण:

SELECT 
    SCHEMA_NAME(t.schema_id) AS [Schema],
    t.name AS [Table],
    c.name AS [Column],
    dc.definition AS [Column Default],
    ty.name AS [Data Type]
FROM sys.tables AS t
INNER JOIN sys.columns AS c 
    ON t.object_id = c.object_id
LEFT JOIN sys.types AS ty 
    ON c.user_type_id = ty.user_type_id
LEFT JOIN sys.default_constraints dc  
    ON c.default_object_id = dc.object_id
WHERE c.is_nullable = 1
ORDER BY [Schema], [Table], [Column];

  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 सर्वर में IP पता संग्रहीत करने के लिए डेटाटाइप

  2. JDBC का उपयोग करके SQL सर्वर LocalDB से कनेक्ट करना

  3. SQL सर्वर डेटाबेस में सिस्टम तालिकाओं की संख्या की गणना करने के 3 तरीके

  4. एमएस एसक्यूएल सर्वर में संचयी कुल

  5. कृपया SQL सर्वर आँकड़ों को बेहतर बनाने में मदद करें!