InnoDB विशिष्ट प्रकार के ताले निम्नानुसार सेट करता है।
-
चुनें ... FROM एक सुसंगत पठन है, डेटाबेस का एक स्नैपशॉट पढ़ना और कोई लॉक सेट नहीं करना जब तक कि लेन-देन अलगाव स्तर SERIALIZABLE पर सेट न हो। SERIALIZABLE स्तर के लिए, खोज सेट इंडेक्स रिकॉर्ड पर अगली-कुंजी लॉक साझा करता है जो इसका सामना करता है।
-
चुनें ... से ... शेयर मोड में लॉक करें सभी इंडेक्स पर साझा किए गए अगली-कुंजी लॉक सेट खोज मुठभेड़ों को रिकॉर्ड करते हैं।
-
इंडेक्स रिकॉर्ड के लिए सर्च एनकाउंटर, सेलेक्ट ... से ... अपडेट के लिए अन्य सेशन को सेलेक्ट करने से ... से ... लॉक इन शेयर मोड या कुछ ट्रांजैक्शन आइसोलेशन लेवल में पढ़ने से रोकता है। लगातार पठन, पठन दृश्य में मौजूद रिकॉर्ड पर सेट किए गए किसी भी लॉक को अनदेखा कर देगा।
-
अद्यतन करें ... कहां ... खोज के हर रिकॉर्ड पर एक विशेष अगली-कुंजी लॉक सेट करता है।
-
से हटाएं ... जहां ... खोज के सामने आने वाले प्रत्येक रिकॉर्ड पर एक विशेष अगली-कुंजी लॉक सेट करता है।
-
INSERT सम्मिलित पंक्ति पर एक विशेष लॉक सेट करता है। यह लॉक एक इंडेक्स-रिकॉर्ड लॉक है, न कि अगली-कुंजी लॉक (अर्थात, कोई गैप लॉक नहीं है) और अन्य सत्रों को सम्मिलित पंक्ति से पहले गैप में डालने से नहीं रोकता है।
InnoDB में कई प्रकार के रिकॉर्ड-स्तरीय लॉक हैं:
-
रिकॉर्ड लॉक:यह इंडेक्स रिकॉर्ड पर लॉक है।
-
गैप लॉक:यह इंडेक्स रिकॉर्ड के बीच गैप पर लॉक होता है, या पहले या आखिरी इंडेक्स रिकॉर्ड के बाद गैप पर लॉक होता है।
-
नेक्स्ट-की लॉक:यह इंडेक्स रिकॉर्ड पर रिकॉर्ड लॉक और इंडेक्स रिकॉर्ड से पहले गैप पर गैप लॉक का संयोजन है।
और देखें:
नेक्स्ट-की लॉकिंग का उपयोग करके प्रेत समस्या से बचना