आंतरिक दृष्टिकोण से, विधियां अनिवार्य रूप से समान हैं।
परदे के पीछे, जब आप दिनांक-आधारित विभाजन बनाते हैं तो SQL इंजन प्रत्येक विभाजन के लिए अलग-अलग भौतिक तालिकाएँ बनाता है, फिर वही करता है जो मूल रूप से एक UNION
है जब आप टेबल को ही क्वेरी करते हैं।
यदि आप विभाजन तालिका पर अपनी क्वेरी में एक फ़िल्टर का उपयोग करते हैं जो आपके विभाजन क्षेत्र से संबंधित है (DateField
मान लीजिए), तो इंजन सीधे उस विभाजन पर जा सकता है जिसकी आपको डेटा के लिए आवश्यकता है। यदि नहीं, तो यह क्वेरी को पूरा करने के लिए आवश्यकतानुसार तार्किक तालिका में प्रत्येक भौतिक तालिका की खोज करता है।
यदि आपके प्रश्नों में दिनांक फ़िल्टर शामिल होगा (जो ऐसा लगता है कि वे आपके प्रश्न से होंगे) तो मैं आपकी "कस्टम" विधि के लिए कोई लाभ नहीं सोच सकता।
अनिवार्य रूप से, आपको जो चुनाव करने की आवश्यकता है वह यह है कि क्या आप विभाजन में शामिल सभी तर्क और कोने के मामलों के लिए जिम्मेदार होना चाहते हैं, या Microsoft के डेवलपर्स पर भरोसा करना चाहते हैं जो दशकों से आपके लिए ऐसा करने के लिए ऐसा कर रहे हैं? मजबूत>
मेरे अपने उद्देश्यों के लिए, अगर किसी चीज के लिए एक अंतर्निहित ढांचा है जो मैं करना चाहता हूं तो मैं हमेशा इसका उपयोग करने का प्रयास करता हूं। यह "अपना खुद का रोल करें" समाधान की तुलना में निरपवाद रूप से तेज़, अधिक स्थिर और कम त्रुटि-प्रवण है।