Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

वर्ष बनाम डेटा_2011, डेटा_2010, आदि नामक अलग-अलग तालिकाओं का विभाजन

आंतरिक दृष्टिकोण से, विधियां अनिवार्य रूप से समान हैं।

परदे के पीछे, जब आप दिनांक-आधारित विभाजन बनाते हैं तो SQL इंजन प्रत्येक विभाजन के लिए अलग-अलग भौतिक तालिकाएँ बनाता है, फिर वही करता है जो मूल रूप से एक UNION है जब आप टेबल को ही क्वेरी करते हैं।

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

यदि आपके प्रश्नों में दिनांक फ़िल्टर शामिल होगा (जो ऐसा लगता है कि वे आपके प्रश्न से होंगे) तो मैं आपकी "कस्टम" विधि के लिए कोई लाभ नहीं सोच सकता।

अनिवार्य रूप से, आपको जो चुनाव करने की आवश्यकता है वह यह है कि क्या आप विभाजन में शामिल सभी तर्क और कोने के मामलों के लिए जिम्मेदार होना चाहते हैं, या Microsoft के डेवलपर्स पर भरोसा करना चाहते हैं जो दशकों से आपके लिए ऐसा करने के लिए ऐसा कर रहे हैं? मजबूत>

मेरे अपने उद्देश्यों के लिए, अगर किसी चीज के लिए एक अंतर्निहित ढांचा है जो मैं करना चाहता हूं तो मैं हमेशा इसका उपयोग करने का प्रयास करता हूं। यह "अपना खुद का रोल करें" समाधान की तुलना में निरपवाद रूप से तेज़, अधिक स्थिर और कम त्रुटि-प्रवण है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. एकल कॉलम में कई पंक्तियाँ सम्मिलित करें

  2. आप पायथन में संग्रहीत प्रक्रिया से आउटपुट पैरामीटर कैसे प्राप्त करते हैं?

  3. SQL सर्वर - कुछ शर्तों को पूरा करने वाले कॉलम का चयन करें?

  4. मैं TSQL LIKE क्लॉज को ऑप्टिमाइज़/रिफैक्टर कैसे कर सकता हूं?

  5. SQL सर्वर में त्रुटि संदेश 7325 को कैसे ठीक करें:"वितरित प्रश्नों में CLR प्रकार वाले स्तंभों को उजागर करने वाली वस्तुओं की अनुमति नहीं है"