प्रदर्शन पर आप चयन पर ध्यान केंद्रित करते रहते हैं।
साझा किए गए ब्लॉक को अवरुद्ध नहीं करता है।
साझा लॉक ब्लॉक अद्यतन।
यदि आपके पास सैकड़ों साझा लॉक हैं तो यह एक विशेष लॉक प्राप्त करने के लिए थोड़ी देर के लिए अपडेट करने जा रहा है क्योंकि इसे साझा लॉक को साफ़ करने के लिए प्रतीक्षा करनी होगी।
डिफ़ॉल्ट रूप से एक चयन (पढ़ा) साझा लॉक लेता है।
साझा (एस) ताले एक संसाधन को पढ़ने (चयन) पढ़ने के लिए समवर्ती लेनदेन की अनुमति देते हैं।
एक साझा लॉक अन्य चयनों (1 या 1000) पर कोई प्रभाव नहीं है।
अंतर यह है कि कैसे नॉकॉक बनाम लॉक प्रभाव अपडेट या ऑपरेशन डालें।
संसाधन पर साझा (एस) ताले मौजूद होने पर कोई अन्य लेनदेन डेटा को संशोधित नहीं कर सकता है।
एक साझा लॉक अद्यतन को अवरुद्ध करता है!
लेकिन नोलॉक अद्यतन को अवरुद्ध नहीं करता है।
इससे अपडेट के प्रदर्शन पर बहुत अधिक प्रभाव पड़ सकता है। यह आवेषण को भी प्रभावित करता है।
गंदे पढ़ने (नोलॉक) बस गंदा लगता है। आपको कभी भी आंशिक डेटा नहीं मिल रहा है। यदि कोई अपडेट जॉन को सैली में बदल रहा है तो आप कभी भी जॉली नहीं ले पाएंगे।
मैं साझा लॉक को समवर्तीता के लिए बहुत उपयोग करता हूं। जैसे ही इसे पढ़ा जाता है, डेटा खराब हो जाता है। जॉन का एक पठन जो अगले मिलीसेकंद में सैली में बदलता है, वह पुराना डेटा है। सैली का एक पठन जो जॉन को वापस ले जाता है, अगली मिलीसेकंद पुरानी डेटा है। यह मिलीसेकंद स्तर पर है। मेरे पास एक डेटलोडर है जो उपयोगकर्ताओं को साझा लॉक ले रहा है और चलाने के लिए 4 घंटे चलने में 20 घंटे लगते हैं, उपयोगकर्ता उपयोगकर्ता लॉक नहीं ले रहे हैं। इस मामले में साझा ताले डेटा को 16 घंटे के बालों का कारण बनते हैं।
नोलॉक्स गलत का उपयोग न करें। लेकिन उनके पास एक जगह है। यदि आप एक चेक को काटने जा रहे हैं जब एक बाइट 1 पर सेट किया गया है और फिर चेक को काटते समय इसे 2 पर सेट करें - नोलॉक के लिए समय नहीं।
अच्छा जवाब, बहुत बहुत धन्यवाद! बिना किसी कारण के '' (NOLOCK) 'का उपयोग करने के लिए कोई प्रभाव होगा (सैकड़ों' चयन 'प्रश्नों पर)? –
हम अपने चुने हुए 99.5% में नाकॉक के साथ उपयोग करते हैं, कोई मजाक नहीं। यदि कोई व्यवस्थापक उपयोगकर्ता रिकॉर्ड अपडेट कर रहा है, तो आप नहीं चाहते हैं कि रिपोर्ट वहां बैठे और पूरे वितरित लेनदेन को समाप्त करने की प्रतीक्षा करें। तो उनका पुराना डेटा रिपोर्ट पर दिखाई देता है। किसे पड़ी है? अगर रिपोर्ट एक ही डेटा से पहले एक सेकंड चलाया गया था जो कि रॉकॉक के साथ होता। एकमात्र जगह यह चिंता का विषय है जो अभी तक प्रतिबद्ध नहीं है। यदि आप "आखिरी घंटे में ऑर्डर" दिखा रहे हैं जो संभावित रूप से एक मुद्दा हो सकता है, लेकिन गति/समेकन लाभ की तुलना में एक छोटा, छोटा मुद्दा। –
चूंकि 'रिपोर्ट' को उदाहरण के रूप में बाहर निकाला गया था, इसलिए रिपोर्ट आम तौर पर एक समयावधि के लिए होती है जो पिछले 5 मिनट नहीं होती है। पिछले महीने से नोलॉक के साथ डेटा पर रिपोर्टिंग - ठीक है, ऐसा नहीं है कि डेटा एक महीने बाद रोलबैक पर जा रहा है। –