यह सुनिश्चित नहीं करें कि आप डेटाबेस लेनदेन में वित्तीय लेनदेन को क्यों नहीं लपेट रहे हैं (जैसे कि जब आप एक खाते से दूसरे खाते में धनराशि स्थानांतरित करते हैं - आप एक बार में लेनदेन का एक पक्ष नहीं करते हैं - यही कारण है कि स्पष्ट लेनदेन मौजूद हैं)। यहां तक कि अगर आपका कोड व्यावसायिक लेनदेन के लिए बाध्य है जैसा कि यह लगता है, तो सभी लेनदेन डेटाबेस में त्रुटियों या विफलता की स्थिति में निहित रोलबैक करने की क्षमता है। मुझे लगता है कि यह चर्चा आपके सिर पर है।
यदि आपको लॉकिंग की समस्या हो रही है, तो संस्करण को लागू करें और अपने कोड को साफ़ करें।
कोई भी ताला न केवल गलत मान लौटाता है, यह प्रेत रिकॉर्ड और डुप्लिकेट देता है।
यह एक आम गलत धारणा है कि यह हमेशा प्रश्नों को तेजी से चलाता है। अगर किसी टेबल पर राइट लॉक नहीं हैं, तो इससे कोई फर्क नहीं पड़ता। यदि मेज पर ताले हैं, तो यह क्वेरी को तेज कर सकता है, लेकिन एक कारण है कि ताले को पहले स्थान पर आविष्कार किया गया था।
निष्पक्षता में, यहां दो विशेष परिदृश्य हैं जहां एक नोलॉक संकेत उपयोगिता प्रदान कर सकता है
1) 2005 से पहले के SQL सर्वर डेटाबेस को लाइव OLTP डेटाबेस के खिलाफ लंबी क्वेरी चलाने की आवश्यकता है यह एकमात्र तरीका हो सकता है
2) खराब लिखित आवेदन जो यूआई और पाठकों के लिए रिकॉर्ड्स और रिटर्न नियंत्रण को अनिश्चित काल के लिए बंद कर देता है। अगर आवेदन (थर्ड पार्टी आदि) तय नहीं किया जा सकता है तो नोलॉक यहां मददगार हो सकता है और डेटाबेस या तो 2005 से पहले का है या वर्जनिंग को चालू नहीं किया जा सकता है।