हाय मैं वर्तमान में इसी तरह की समस्या के समाधान पर काम कर रहा हूं, मैं इसे अपनी तालिकाओं को दो, एक नियंत्रण तालिका और एक डेटा तालिका में विभाजित करके हल कर रहा हूं। नियंत्रण तालिका में प्राथमिक कुंजी और डेटा तालिका में संदर्भ होगा, डेटा तालिका में स्वत:वृद्धि संशोधन कुंजी और नियंत्रण तालिका की प्राथमिक कुंजी विदेशी कुंजी के रूप में होगी।
अपनी प्रविष्टि तालिका को एक उदाहरण के रूप में लेते हुए
Entries Table
+----+-------+------+--------+--------+
| id | title | text | index1 | index2 |
+----+-------+------+--------+--------+
बन जाता है
entries entries_data
+----+----------+ +----------+----+--------+------+--------+--------+
| id | revision | | revision | id | title | text | index1 | index2 |
+----+----------+ +----------+----+--------+------+--------+--------+
क्वेरी करने के लिए
select * from entries join entries_data on entries.revision = entries_data.revision;
प्रविष्टियों_डेटा तालिका को अद्यतन करने के बजाय आप एक सम्मिलित विवरण का उपयोग करते हैं और फिर प्रविष्टि तालिका के नए संशोधन के साथ प्रविष्टि तालिका के संशोधन को अद्यतन करते हैं।
इस प्रणाली का लाभ यह है कि आप केवल प्रविष्टि तालिका के भीतर संशोधन संपत्ति को बदलकर विभिन्न संशोधनों में जा सकते हैं। नुकसान यह है कि आपको अपने प्रश्नों को अपडेट करने की आवश्यकता है। मैं वर्तमान में इसे एक ओआरएम परत में एकीकृत कर रहा हूं ताकि डेवलपर्स को वैसे भी एसक्यूएल लिखने की चिंता न हो। एक और विचार जिस पर मैं काम कर रहा हूं, वह यह है कि एक केंद्रीकृत संशोधन तालिका हो, जिसका उपयोग सभी डेटा टेबल करते हैं। यह आपको एक एकल संशोधन संख्या के साथ डेटाबेस की स्थिति का वर्णन करने की अनुमति देगा, जैसा कि उपवर्तन संशोधन संख्याएं कैसे काम करती हैं।