यदि आप InnoDB या किसी पंक्ति-स्तरीय लेन-देन संबंधी RDBMS का उपयोग कर रहे हैं, तो संभव है कि कोई भी लेन-देन लिखें पूरी तरह से सामान्य परिस्थितियों में भी गतिरोध पैदा कर सकता है। बड़ी तालिकाएँ, बड़े लेखन और लंबे लेन-देन ब्लॉक अक्सर गतिरोध होने की संभावना को बढ़ा देंगे। आपकी स्थिति में, यह शायद इनमें से एक संयोजन है।
गतिरोध को सही मायने में संभालने का एकमात्र तरीका यह है कि आप उनसे अपेक्षा करने के लिए अपना कोड लिखें। यदि आपका डेटाबेस कोड अच्छी तरह से लिखा गया है तो यह आम तौर पर बहुत मुश्किल नहीं है। अक्सर आप बस एक try/catch
डाल सकते हैं क्वेरी निष्पादन तर्क के आसपास और त्रुटियां होने पर गतिरोध की तलाश करें। यदि आप एक को पकड़ लेते हैं, तो सामान्य बात यह है कि असफल क्वेरी को फिर से निष्पादित करने का प्रयास करें।
मैं आपको इस पेज को पढ़ने की अत्यधिक सलाह देता हूं। MySQL मैनुअल में। इसमें गतिरोध से निपटने और उनकी आवृत्ति को कम करने में मदद करने के लिए चीजों की एक सूची है।