आप तालिका को सक्रिय ध्वज पर विभाजित करते हैं, ताकि सक्रिय रिकॉर्ड एक विभाजन में हों, और निष्क्रिय रिकॉर्ड दूसरे विभाजन में हों। फिर आप प्रत्येक तालिका के लिए एक सक्रिय दृश्य बनाते हैं जिस पर स्वचालित रूप से सक्रिय फ़िल्टर होता है। डेटाबेस क्वेरी इंजन स्वचालित रूप से क्वेरी को उस पार्टीशन तक सीमित कर देता है जिसमें सक्रिय रिकॉर्ड होते हैं, जो उस फ़्लैग पर इंडेक्स का उपयोग करने की तुलना में बहुत तेज़ होता है।
यहाँ Oracle में विभाजित तालिका बनाने का एक उदाहरण दिया गया है। Oracle में बूलियन कॉलम प्रकार नहीं हैं, इसलिए मैंने Oracle उद्देश्यों के लिए आपकी तालिका संरचना को संशोधित किया है।
CREATE TABLE people
(
id NUMBER(10),
name VARCHAR2(100),
active NUMBER(1)
)
PARTITION BY LIST(active)
(
PARTITION active_records VALUES (0)
PARTITION inactive_records VALUES (1)
);
यदि आप चाहें तो प्रत्येक विभाजन को अलग-अलग टेबलस्पेस में रख सकते हैं। आप अपनी अनुक्रमणिका को भी विभाजित कर सकते हैं।
संयोग से, यह का दोहराव लगता है। यह प्रश्न, एक नौसिखिया के रूप में मुझे पूछने की ज़रूरत है, अनपेक्षित डुप्लिकेट से निपटने की प्रक्रिया क्या है?
संपादित करें: टिप्पणियों में अनुरोध के अनुसार, Oracle में विभाजित तालिका बनाने के लिए एक उदाहरण प्रदान किया