MySQL में ALTER TABLE स्टेटमेंट करते समय, स्टेटमेंट की अवधि के लिए पूरी टेबल को रीड-लॉक किया जाता है (समवर्ती रीड की अनुमति देता है, लेकिन समवर्ती लेखन को प्रतिबंधित करता है)। यदि यह एक बड़ी तालिका है, तो INSERT या UPDATE स्टेटमेंट्स को looooong समय के लिए ब्लॉक किया जा सकता है। क्या एक "हॉट चेंज" करने का एक तरीका है, जैसे एक कॉलम को इस तरह से जोड़ना कि पूरी प्रक्रिया के दौरान टेबल अभी भी अपडेट है?
ज्यादातर मैं MySQL के लिए एक समाधान में रुचि रखता हूँ, लेकिन अगर MySQL यह नहीं कर सकता है तो मुझे अन्य RDBMS में दिलचस्पी होगी।
स्पष्ट करने के लिए, मेरा उद्देश्य बस डाउनटाइम से बचने के लिए है जब एक नई सुविधा जिसके लिए अतिरिक्त टेबल कॉलम की आवश्यकता होती है, उसे उत्पादन में धकेल दिया जाता है। किसी भी डेटाबेस स्कीमा समय के साथ बदल जाएगा , यह सिर्फ जीवन का एक तथ्य है। मैं यह नहीं देखता कि हमें यह क्यों स्वीकार करना चाहिए कि इन बदलावों का परिणाम अनिवार्य रूप से डाउनटाइम में होना चाहिए; यह सिर्फ कमजोर है।