आपको id
. पर एक इंडेक्स जोड़ना होगा कॉलम यह सुनिश्चित करने के लिए कि आपको एक पंक्ति-स्तरीय लॉक प्राप्त हो। SELECT ... FOR UPDATE
क्वेरी करने के लिए पढ़ी जाने वाली सभी पंक्तियों को लॉक कर देता है, न कि केवल उन पंक्तियों को जो वास्तव में चुनी जाती हैं। अनुक्रमणिका के बिना, इसे एक पूर्ण तालिका स्कैन करना होता है, इसलिए परिणामस्वरूप प्रत्येक पंक्ति लॉक हो जाती है।
एक अनुक्रमणिका के साथ, यह केवल उस अनुक्रमणिका प्रविष्टि में ताला लगा देता है, इसे किसी अन्य पंक्ति को पढ़ने की आवश्यकता नहीं होती है, इसलिए कोई अन्य पंक्तियाँ लॉक नहीं होंगी।