2008-08-29 6 views
23

प्रदर्शन के संदर्भ और अनुकूलन में:एसक्यूएल सर्वर - कॉलम ऑर्डर मायने रखता है?

  • जब एसक्यूएल सर्वर में एक तालिका का निर्माण, यह बात नहीं क्या आदेश मैं में स्तंभों डाल करता है?
  • क्या इससे कोई फर्क पड़ता है कि मेरी प्राथमिक कुंजी पहला कॉलम है या नहीं?
  • बहु-क्षेत्रीय अनुक्रमणिका का निर्माण करते समय, क्या इससे कोई फर्क पड़ता है कि कॉलम निकट हैं?
  • वैकल्पिक तालिका वाक्यविन्यास का उपयोग करना, क्या यह निर्दिष्ट करना संभव है कि मैं किस स्थिति में कॉलम जोड़ना चाहता हूं?
    • यदि नहीं, तो मैं कॉलम को एक अंतर स्थिति में कैसे स्थानांतरित कर सकता हूं?
+0

देखें http://stackoverflow.com/questions/6692021/performance-space-implications-when-ordering-sql-server-columns – gbn

+0

यहां डीबीए पर एक समान प्रश्न है .SE: [क्या तालिका में कॉलम का क्रम है परिभाषा पदार्थ?] (http://dba.stackexchange.com/q/18719/2660) –

उत्तर

3

मैं उन सभी सवालों के जवाब कहेंगे कोई MS-एसक्यूएल के साथ मेरा अनुभव हालांकि जहां तक ​​SQL2000 के रूप में चला जाता है,। पहले 3 करने के लिए कोई SQL2005

1

में एक अलग कहानी हो सकती है क्योंकि सूचकांक डेटा रखा जाएगा और कोई पिछले एक बार भी

3

चौथी गोली के लिए: नहीं आप निर्दिष्ट नहीं कर सकते जहां आप जोड़ना चाहते हैं स्तंभ। यहां अल्टर टेबल के लिए वाक्यविन्यास है: https://msdn.microsoft.com/en-us/library/ms190273.aspx

MySQL में वे एक वैकल्पिक तालिका जोड़ते हैं ... इसके बाद ... लेकिन यह टी-एसक्यूएल में दिखाई नहीं देता है।

यदि आप कॉलम को पुन: व्यवस्थित करना चाहते हैं तो आपको तालिका को पुनर्निर्माण करना होगा।

संपादित करें: अपने पिछले पिछले बुलेट बिंदु के लिए, आप तालिका छोड़ और इसे पुन: स्तंभों को पुन: व्यवस्थित करने के लिए करना होगा। कुछ ग्राफिकल टूल्स जो एसक्यूएल डेटाबेस में हेरफेर करते हैं, यह आपके लिए ऐसा करेंगे और ऐसा लगता है कि आप कॉलम रीडरिंग कर रहे हैं, इसलिए आप इसे देखना चाहेंगे।

+0

लिंक तय किया गया। [404] –

8

SQL सर्वर 2005 में, निरर्थक चर स्तंभों के प्लेसमेंट का एक स्पेस प्रभाव होता है - परिभाषा के अंत में निरर्थक चर आकार के कॉलम रखने से कम स्थान की खपत हो सकती है।

एसक्यूएल सर्वर 2008 "स्पेस" कॉलम सुविधा जोड़ता है जो इस अंतर को अस्वीकार करता है।

here देखें।

-2

पहले बुलेट के लिए:

हाँ, स्तंभ क्रम करता बात है, कम से कम अगर आप का उपयोग कर पदावनत BLOBs image, text, या ntext, और प्रयोग कर रहे हैं एसक्यूएल सर्वर < = 2005

उन मामलों में, आपके पास उन स्तंभों को तालिका के 'अंत' पर होना चाहिए, और हर बार जब आप एक पुनर्प्राप्त करते हैं तो प्रदर्शन प्रदर्शन होता है।

यदि आप डीएएल का उपयोग करके ऐसी तालिका से डेटा पुनर्प्राप्त कर रहे हैं, तो यह Lazy Load पैटर्न के लिए एकदम सही जगह है।

+0

के बाद से लिंक-रॉट लड़ना क्यों डाउनवोट? – egrunin

+0

मैंने सोचा कि मैंने टिप्पणी की होगी। पूर्ण कचरा http://stackoverflow.com/questions/6692021/performance- स्पेस- कार्यान्वयन- जब-ordering-sql-server-columns/6692107#6692107 – gbn

0

तालिका बनाने के दौरान कॉलम ऑर्डर कोई फर्क नहीं पड़ता। डेटाबेस से डेटा पुनर्प्राप्त करते समय हम कॉलम व्यवस्थित कर सकते हैं। प्राथमिक कुंजी किसी कॉलम या स्तंभों के संयोजन पर सेट की जा सकती है।