मैं SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTEDअपने सामान्य एसक्यूएल प्रश्नों के बहुमत में उपयोग करता हूं, मुख्यतः क्योंकि यह मुझे मूल रूप से भाषा सीखने पर ड्रिल किया गया था।
मेरी समझ से, यह अलगाव स्तर उसी तरह से कार्य करता है, जैसा कि WITH (NO LOCK)मैं कभी भी उपयोग करने के लिए करता हूं SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED।
- वहाँ कभी एक समय है कि मैं का उपयोग करना चाहिए है
WITH (NO LOCK)से अधिकSET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED। - क्या
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTEDअन्य उपयोगकर्ताओं को उन तालिकाओं से बाहर जाने से रोका जाता है जिन्हें मैं पढ़ रहा हूं? - यदि
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTEDताले को रोकने के लिए उपयोग किया जाता है, लेकिन मैं केवल डेटा पढ़ रहा हूं, तो इसका उपयोग करने में क्या मतलब है? क्या यह केवल सिस्टम गहन प्रश्न हैं जो ताले उत्पन्न करेंगे? 5-10 सेकंड में कहे जाने वाले प्रश्नों को चलाते समय क्या इसका उपयोग करना उचित है? - मुझे बताया गया है कि
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTEDअद्यतन डेटा का उपयोग जब अद्यतन में किया जाएगा, तो संभवतः गंदे डेटा से बचने के लिए उपयोग न करें। क्या यह एकमात्र कारण होगा? - जिस प्रकार के डेटाबेस पर मैं काम कर रहा हूं, उसके साथ उत्पादन और परीक्षण का माहौल है। हम शायद ही कभी उत्पादन के माहौल के बारे
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTEDमें सवाल कर रहे हों , लेकिन जब मुझे जरूरत होगी, मैं आमतौर पर अपनी क्वेरी में उपयोग करूंगा। मैं समझता हूं कि इसके साथ गंदे पढ़ना संभव है। डेटा प्राप्त करने के अलावा, जो डेटाबेस के लिए प्रतिबद्ध नहीं हो सकता है (और इसलिए मेरे परिणामों को बाहर फेंक सकता है) क्या अन्य प्रकार के 'गंदे पढ़े' संभव हो सकते हैं?
सामूहिक प्रश्नों के लिए क्षमा करें।
READ UNCOMMITTEDहर जगह, ठीक उसी तरह से के रूप में मैं का उपयोग नहीं होगा में WITH (NOLOCK)हर जगह (वे अनिवार्य रूप से एक ही बात कर रहे हैं) blogs.sqlsentry.com/aaronbertrand/bad-habits-nolock-everywhere