जब कई कनेक्शन एक ही रिकॉर्ड को एक साथ अपडेट करने का प्रयास करते हैं, तो रेस की स्थिति उत्पन्न हो सकती है। एक सामान्य परिदृश्य में काउंटर फ़ील्ड को बढ़ाना शामिल होता है, जैसे "कोशिशें"। ऐसी स्थितियों में डेटा अखंडता सुनिश्चित करने के लिए, दौड़ की स्थितियों को संबोधित करने वाले तंत्र को लागू करना महत्वपूर्ण है।
1. परमाणु अद्यतन:
MySQL परमाणु अद्यतनों का समर्थन करता है, जो गारंटी देता है कि एक अद्यतन ऑपरेशन सफल या विफल रहता है। इस दृष्टिकोण की अनुशंसा तब की जाती है जब यह पहले वर्तमान मान का चयन किए बिना फ़ील्ड को सीधे अपडेट करने के लिए पर्याप्त हो।
2. पंक्ति लॉकिंग:
यह तकनीक एक ही पंक्ति में एकाधिक समवर्ती अपडेट को रोकने के लिए पंक्ति-स्तरीय लॉकिंग का उपयोग करती है। एक विशेष लॉक प्राप्त करके, एक कनेक्शन विशेष रूप से पंक्ति को संशोधित कर सकता है, जबकि अन्य कनेक्शनों को लॉक जारी होने तक इंतजार करना होगा। यह सुनिश्चित करता है कि फ़ील्ड सही ढंग से अपडेट की गई है और दौड़ की स्थिति से बचा जाता है।
3. संस्करण योजना:
यह दृष्टिकोण तालिका में एक संस्करण कॉलम प्रस्तुत करता है। किसी पंक्ति को अद्यतन करते समय, मौजूदा संस्करण पुनर्प्राप्त किया जाता है और यदि संस्करण मेल खाता है तो अद्यतन किया जाता है। यदि संस्करण बदल गया है, तो यह इंगित करता है कि किसी अन्य कनेक्शन ने प्रारंभिक पुनर्प्राप्ति के बाद से पंक्ति को संशोधित किया है। इस स्थिति में, अपडेट निरस्त कर दिया जाता है, और नवीनतम मानों को पुनः प्राप्त करने और अपडेट का फिर से प्रयास करने के लिए प्रक्रिया को दोहराया जाना चाहिए।
अस्वीकरण: उपलब्ध कराए गए सभी संसाधन आंशिक रूप से इंटरनेट से हैं। यदि आपके कॉपीराइट या अन्य अधिकारों और हितों का कोई उल्लंघन होता है, तो कृपया विस्तृत कारण बताएं और कॉपीराइट या अधिकारों और हितों का प्रमाण प्रदान करें और फिर इसे ईमेल पर भेजें: [email protected] हम इसे आपके लिए यथाशीघ्र संभालेंगे।
Copyright© 2022 湘ICP备2022001581号-3