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


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

धन्यवाद

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

मार्क

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

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

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

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


Comments

Popular posts from this blog

delphi - Mouseover hint for TChart series value -

c++ - Linux and clipboard -

How to Create Master-Details view using Asp.Net MVC framework -