SQL Server: Clustered index on datetime, ASC or DESC -


यदि मेरे पास एक datetime फ़ील्ड पर एक संकलित अनुक्रमणिका के साथ एक SQL सर्वर तालिका है, जो DateTime.Now पर सेट है (सी # ) सम्मिलित करने से पहले, सूचकांक तालिका के पुनर्गठन से बचने के लिए आरोही या अवरोही होना चाहिए?

धन्यवाद

वास्तव में कोई फर्क नहीं पड़ता - लेकिन क्या समय-समय पर वास्तव में अद्वितीय होने की गारंटी है ?? मैं सिर्फ एक डेटटाइम पर एक क्लस्टरिंग इंडेक्स डालकर टालना चाहूंगा- मैं इसके बजाय INT पहचान या बड़ा पहचान का उपयोग करेगा, और डेटटाइम पर एक नियमित गैर-क्लस्टर इंडेक्स डालूंगा (चूंकि यह वास्तव में अद्वितीय होने की गारंटी नहीं है ...) < / P>

मार्क

पीएस: प्राथमिक कुंजी की तरह, एक संकलित कुंजी क्या होनी चाहिए पर सामान्य सहमति:

  • अद्वितीय
  • संभवतः संकीर्ण के रूप में
  • स्थिर
  • कभी भी बढ़ती

कॉलम (एस) जो क्लस्टेड कुंजी बनाते हैं (जिसमें 4- बाइट अनन्यफ़िफायर) हर गैर-संकुल सूचकांक में हर प्रविष्टि में जोड़ दिया जाता है - इसलिए आप जितना संभव हो उतना पतला रखना चाहते हैं।

पीएस 2: प्रत्येक गैर-क्लस्टर इंडेक्स में क्लस्टरिंग कुंजी (एस) को जोड़ दिया जाता है क्योंकि ऐसा तरीका है कि एसक्यूएल सर्वर पूरे पंक्तियों को पुनः प्राप्त कर लेगा, जब इसे गैर-क्लस्टर्ड इंडेक्स में खोज मान मिलेगा। डेटाबेस में पंक्ति का "स्थान" है, इसलिए बात करने के लिए। इसलिए, यह अद्वितीय और संकीर्ण होना चाहिए।


Comments

Popular posts from this blog

c++ - Linux and clipboard -

What is expire header and how to achive them in ASP.NET and PHP? -

sql server - How can I determine which of my SQL 2005 statistics are unused? -