वर्तमान में, हमारे पास एक मौजूदा डेटाबेस और एप्लिकेशन है जो पूरी तरह कार्यात्मक है। मेरे पास इस बिंदु पर वास्तुकला को बदलने की क्षमता नहीं है। आज, डेटाबेस में प्रत्येक तालिका में "0 'के डिफ़ॉल्ट के साथ" IsDeleted "NOT NIT BIT फ़ील्ड है। जब एप्लिकेशन "डेटा को हटाता है", यह बस IsDeleted फ्लैग को 1 में अपडेट करता है।
मुझे यह समझने में परेशानी हो रही है कि तालिकाओं में से प्रत्येक पर अनुक्रमित कैसे संरचित किया जाना चाहिए। अभी, हर प्रश्न / शामिल / आदि हमेशा IsDeleted चेक लागू करता है। यह एक मानक है जिसका हमारे डेवलपर्स को पालन करना चाहिए। यह कहा जा रहा है, मैं यह निर्धारित करने की कोशिश कर रहा हूं कि यदि प्रत्येक मेज पर मेरे क्लस्टर किए गए प्राथमिक कुंजी अनुक्रमों को प्राथमिक कुंजी और IsDeleted BIT फ़ील्ड को शामिल करने के लिए बदल दिया जाए। इसके अलावा, जब से हर प्रश्न / शामिल / आदि। IsDeleted चेक को लागू करना चाहिए, क्या यह एक उपयुक्त धारणा है कि हर व्यक्ति सूचकांक (साथ ही गैर-संकुल) को IsDletlet फ़ील्ड को सूचकांक के पहले क्षेत्र के रूप में शामिल करना चाहिए?
एक अन्य प्रश्न मेरे पास फ़िल्टर्ड इंडेक्स के आसपास है। मैं समझता हूं कि मैं अनुक्रमित पर फिल्टर लगा सकता हूं जैसे कि "WHERE IsDeleted = 0" अनुक्रमित के आकार को कम करने के लिए। हालाँकि, चूंकि प्रत्येक जॉइन / क्वेरी को IsDeleted चेक को लागू करना होगा, क्या इससे फ़िल्टर किए गए इंडेक्स को उपयोग होने से रोका जा सकेगा (क्योंकि IsDeleted कॉलम का उपयोग जॉइन / क्वेरी में किया जाता है)?
याद रखें, मेरे पास IsDeleted दृष्टिकोण को बदलने की क्षमता नहीं है।
IsDeleted
स्तंभ की सर्वव्यापीता और महत्व को देखते हुए , भौतिक भंडारण की परवाह किए बिना, यह संभवतः दो दृष्टिकोणों (वैकल्पिक रूप से विभिन्न स्कीमाओं) के माध्यम से डेटा को उजागर करने के लिए समझ में आएगा, दोनों पैरामीटराइजेशन मुद्दे को हल करने और डेटा तक पहुंचने के साथ गलतियां जो नहीं होनी चाहिए थीं। कम संभावना है। आधार डेटा एक्सेस करना केवल उन दुर्लभ मामलों के लिए प्रासंगिक है जहां हटाए गए और गैर-हटाए गए डेटा को किसी भी तरह से संयोजित करने की आवश्यकता होती है, और जब पंक्तियों को वास्तव में "हटाए गए" पर स्विच करने की आवश्यकता होती है।