2011-02-24 15 views
5

मैंने विभाजन तालिकाओं के बारे में कई प्रविष्टियां देखी हैं, लेकिन जब आपको विभाजन करना चाहिए, तो बहुत सारी जानकारी नहीं है।विभाजन तालिकाओं के लिए अंगूठे का नियम

क्या SQL सर्वर में टेबल विभाजन करना चाहिए जब अंगूठे का नियम है।

धन्यवाद

उत्तर

2

मेरे मानक संकेत देते हैं कि यह क्वेरी लोड पर निर्भर करता है।

  • प्रश्नों आप प्रदर्शन हमेशा विभाजन मैदान पर एक फिल्टर शामिल है तो आगे प्रदर्शन लाभ लगभग तत्काल है (जैसे तालिका में 1000 के रिकॉर्ड पहले से ही फायदेमंद है)
  • प्रश्नों हमेशा पर एक फिल्टर नहीं शामिल है, तो विभाजन क्षेत्र आपको निर्णय लेने से पहले क्वेरी लोड के अच्छे नमूने के साथ वास्तव में बेंचमार्क करना होगा।

आपको विभाजन प्रणाली का भी उपयोग करना होगा। यदि आप "स्थैतिक" विभाजन का उपयोग करते हैं तो उन्हें तुरंत बनाने में बहुत अधिक नुकसान नहीं होता है। जब आप "स्लाइडिंग विंडो" सिस्टम का उपयोग करते हैं तो आपको विभाजन बनाने और विलय करने के ऊपरी हिस्से को ध्यान में रखना होगा। (जो बड़ी टेबल पर लंबा समय ले सकता है)

1

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

लेकिन अगर अपने पर फैसला करने के लिए आबादी वाले टेबल विभाजन, या आप lazily मेरे जैसे विभाजन निष्पादित करना चाहते कोशिश कर, यहाँ PostgreSQL डॉक्स से एक अच्छी छोटी डला है:

सटीक बिंदु जो एक मेज पर विभाजन से लाभ होगा एप्लिकेशन पर निर्भर करता है, हालांकि अंगूठे का नियम यह है कि तालिका का आकार डेटाबेस सर्वर की भौतिक स्मृति से अधिक होना चाहिए। [src]