यह मेरा ज्ञान बढ़ाने की भावना से पूछा गया एक विनम्र प्रश्न है; कृपया अपनी प्रतिक्रिया में सौम्य रहें।
एक लंबे समय के एप्लिकेशन डेवलपर के रूप में, मैं कुछ स्तर पर जानता हूं कि लेनदेन क्या है (मैं हर समय उनका उपयोग करता हूं)। लेन-देन के अलगाव के स्तरों को एक पल के लिए छोड़कर, एक उच्च स्तर पर एक लेनदेन पूरी तरह से या बिल्कुल भी काम के ब्लॉक को पूरा करने की अनुमति देता है, और अन्य डेटाबेस-संशोधित गतिविधि से एक निश्चित मात्रा में अलगाव की अनुमति देता है।
मुझे यह भी पता है कि (विभिन्न डेटाबेस में) एक लॉक क्या है, या कम से कम कैसे व्यवहार करता है (यदि मैं किसी तालिका को स्पष्ट रूप से लॉक करता हूं, तो कोई अन्य प्रक्रिया या थ्रेड उस तालिका के बारे में कुछ भी अपडेट नहीं कर सकता है)।
जो मैं सबसे स्पष्ट रूप से स्पष्ट नहीं हूं वह यह है: विभिन्न डेटाबेस में, जब मैं स्पष्ट रूप से एक पंक्ति या तालिका को लॉक करता हूं, तो क्या मैं सटीक उसी निर्माणों को नियोजित कर रहा हूं जो लेनदेन को ठीक से करने के लिए कवर के तहत डेटाबेस की लेनदेन सुविधाओं द्वारा उपयोग किया जाता है?
यही है, यह मेरे लिए होता है कि लेनदेन के लिए परमाणु और पृथक होने के लिए, यह कुछ लॉकिंग करना चाहिए। क्या यह लेन-देन-आरंभ, ट्रांसैसेशन-छिपी लॉकिंग एक ही तरह का लॉकिंग है जो विभिन्न डेटाबेस मुझे निर्माण जैसे कि SELECT FOR UPDATE
स्पष्ट LOCK
कमांड के माध्यम से एक्सेस करने देता है? या ये दोनों अवधारणाएं पूरी तरह से अलग हैं?
फिर, मैं इस प्रश्न के भोलेपन के लिए माफी माँगता हूँ; मुझे अधिक संस्थापक स्रोतों की ओर इशारा करते हुए खुशी हो रही है।