1) हां , एक चयन NOLOCK
एक सामान्य चयन की तुलना में तेजी से पूरा होगा।
2) हां , एक चुनिंदा NOLOCK
प्रभाव वाली तालिका के खिलाफ अन्य प्रश्नों को सामान्य चयन की तुलना में तेजी से पूरा करने की अनुमति देगा।
ऐसा क्यों होगा?
NOLOCK
आम तौर पर (आपके डीबी इंजन पर निर्भर करता है) का मतलब है कि मुझे अपना डेटा दें, और मुझे परवाह नहीं है कि यह किस स्थिति में है, और जब आप इससे पढ़ते हैं तब भी इसे दबाए रखने से परेशान न हों। यह सब एक बार तेज, कम संसाधन-गहन और बहुत खतरनाक है।
आपको चेतावनी दी जानी चाहिए कि किसी भी सिस्टम से किसी भी अपडेट को कभी भी अपडेट न करें या न करें, या जहां NOLOCK
रीड से उत्पन्न डेटा का उपयोग करके पूर्ण शुद्धता की आवश्यकता है । यह पूरी तरह से संभव है कि इस डेटा में पंक्तियाँ हैं जो क्वेरी के चलने के दौरान हटा दी गई थीं या जिन्हें अन्य सत्रों में हटा दिया गया है जिन्हें अंतिम रूप दिया जाना बाकी है। यह संभव है कि इस डेटा में ऐसी पंक्तियाँ शामिल हैं जिन्हें आंशिक रूप से अपडेट किया गया है। यह संभव है कि इस डेटा में रिकॉर्ड शामिल हैं जो विदेशी कुंजी बाधाओं का उल्लंघन करते हैं। यह संभव है कि यह डेटा उन पंक्तियों को बाहर करता है जिन्हें तालिका में जोड़ा गया है लेकिन अभी तक प्रतिबद्ध नहीं हैं।
आपके पास वास्तव में यह जानने का कोई तरीका नहीं है कि डेटा की स्थिति क्या है।
यदि आप रो काउंट या अन्य सारांश डेटा जैसी चीज़ों को प्राप्त करने की कोशिश कर रहे हैं, जहां त्रुटि का कुछ अंश स्वीकार्य है, तो NOLOCK
इन प्रश्नों के लिए प्रदर्शन को बढ़ावा देने और उन्हें नकारात्मक रूप से प्रभावित करने वाले डेटाबेस प्रदर्शन से बचने का एक अच्छा तरीका है।
हमेशा NOLOCK
बड़ी सावधानी के साथ संकेत का उपयोग करें और किसी भी डेटा का इलाज करें जो इसे संदिग्ध रूप से देता है।