यह हमेशा बुरा नहीं होता है ।
निश्चित रूप से यह आपको बिना पढ़े मानों को पढ़ने की अनुमति देता है (जो कि कभी भी वापस लौटाया जा सकता है और इसलिए तार्किक रूप से कभी अस्तित्व में नहीं होता है) और साथ ही कई बार मानों को पढ़ने की अनुमति भी देता है।
केवल अलगाव स्तर जो गारंटी देते हैं कि आप ऐसी किसी भी विसंगति का सामना नहीं करेंगे, वे क्रमबद्ध / स्नैपशॉट हैं। एक पंक्ति में ले जाने से पहले (यदि किसी कुंजी अद्यतन के कारण) स्कैन से पहले इस पंक्ति तक पहुँचने पर दोहराए जाने योग्य रीड वैल्यू को याद किया जा सकता है, तो रीड कमिट के तहत दो बार पढ़ा जा सकता है यदि एक महत्वपूर्ण अपडेट के कारण आगे पढ़ने के लिए पहले की पंक्ति बढ़ती है।
nolockहालाँकि, इन मुद्दों के तहत उत्पन्न होने की अधिक संभावना है , क्योंकि डिफ़ॉल्ट रूप से, इस अलगाव स्तर पर यह आवंटन आदेशित स्कैन का उपयोग करेगा जब यह अनुमान लगाता है कि 64 पृष्ठों से अधिक पढ़ा जाना है । अंकों की अद्यतन के कारण पृष्ठों के बीच आने वाली समस्याओं की श्रेणी के साथ-साथ ये आवंटन आदेशित स्कैन भी पृष्ठ विभाजन के साथ मुद्दों के लिए असुरक्षित होते हैं (जहां पंक्तियाँ याद की जा सकती हैं यदि नया आवंटित पृष्ठ बिंदु से पहले फ़ाइल में है यदि पहले से स्कैन किया गया पृष्ठ फ़ाइल में बाद के पृष्ठ पर विभाजित है) तो पहले से ही स्कैन या दो बार पढ़ा जा सकता है)।
सरल (एकल तालिका) के लिए कम से कम यह इन स्कैन के उपयोग को हतोत्साहित और एक कुंजी पर स्कैन का आदेश दिया पाने के लिए संभव है प्रश्नों nolockबस एक जोड़कर ORDER BY index_keyक्वेरी के लिए इतना है कि Orderedकी संपत्ति IndexScanहै true।
लेकिन अगर आपके रिपोर्टिंग एप्लिकेशन को बिल्कुल सटीक आंकड़ों की आवश्यकता नहीं है और ऐसी विसंगतियों की अधिक संभावना को सहन कर सकते हैं तो यह स्वीकार्य हो सकता है।
लेकिन निश्चित रूप से आपको इसे सभी प्रश्नों पर इस उम्मीद में नहीं करना चाहिए कि यह जादू "टर्बो" बटन है। साथ ही उस अलगाव के स्तर पर विसंगतिपूर्ण परिणामों के सामना करने की अधिक संभावना या कोई परिणाम नहीं मिला ("डेटा आंदोलन के कारण NOLOCK के साथ स्कैन जारी नहीं रख सका" त्रुटि) यहां तक कि ऐसे मामले भी हैं जहां प्रदर्शन nolock बहुत खराब हो सकता है ।