Database
 sql >> डेटाबेस >  >> RDS >> Database

MSSQL में लेन-देन अलगाव स्तर के आधार पर ताले पढ़ने/लिखने के लिए युक्तियाँ

बिना पढ़े पढ़ें

  • यदि एक लेन-देन में डेटा बदला जा रहा है, तो इस डेटा का चयन (अन्य लेनदेन में या बिना लेन-देन के) पहले लेनदेन के समाप्त होने तक प्रतीक्षा नहीं करेगा और अप्रतिबद्ध लेनदेन की डेटा प्रविष्टियां लौटाएगा।
  • यदि डेटा एक लेनदेन में पढ़ा जा रहा है, तो अन्य लेनदेन में इस डेटा के अपडेट पहले लेनदेन के समाप्त होने तक प्रतीक्षा नहीं करेंगे।
  • साझा ताले का उपयोग नहीं किया जाता है। सेटिंग के समान टी वह नोलॉक के लिए संकेत प्रतिबद्ध पढ़ें में सभी चयन।
  • कथन निष्पादन के दौरान विशेष लॉक सक्षम होते हैं और अंत में o disabled अक्षम होते हैं लेनदेन

प्रतिबद्ध पढ़ें + read_committed_snapshot off
(डेटाबेस बदलें xxx read_committed_snapshot off सेट करें)

  • यदि एक लेनदेन में डेटा बदला जा रहा है, तो इस डेटा का चयन (अन्य लेनदेन में या बिना लेनदेन के) पहले लेनदेन के समाप्त होने तक प्रतीक्षा करेगा। सेले सीटी के साथ नोचेक संकेत संशोधित, लेकिन अप्रतिबद्ध डेटा लौटाएगा।
  • यदि डेटा एक लेनदेन में पढ़ा जा रहा है, तो अन्य लेनदेन में इस डेटा के अपडेट पहले लेनदेन के समाप्त होने तक प्रतीक्षा नहीं करेंगे।
  • साझा लॉक को स्टेटमेंट के निष्पादन के दौरान सक्षम किया जा रहा है और स्टेटमे के अंत में अक्षम किया जा रहा है निष्पादन नहीं
  • कथन निष्पादन के दौरान अनन्य लॉक सक्षम किए जा रहे हैं और लेन-देन के अंत में अक्षम किए जा रहे हैं

प्रतिबद्ध पढ़ें + read_committed_snapshot चालू करें
(डेटाबेस xxx सेट read_committed_snapshot चालू)

  • यदि एक लेन-देन में डेटा बदला जा रहा है, तो इस डेटा का चयन (अन्य लेन-देन में या लेन-देन के बिना) पहले लेन-देन के समाप्त होने तक प्रतीक्षा नहीं करेगा, और मान इस समय लौटाएगा टी का लेनदेन प्रारंभ . के साथ चयन करें NOCHECK संकेत संशोधित, लेकिन अप्रतिबद्ध डेटा लौटाएगा।
  • यदि डेटा एक लेनदेन में पढ़ा जा रहा है, तो अन्य लेनदेन में इस डेटा के अपडेट पहले लेनदेन के समाप्त होने तक प्रतीक्षा नहीं करेंगे।
  • साझा ताले का उपयोग नहीं किया जाता है। इसके बजाय रो वर्जनिंग मैकेनिज्म का उपयोग किया जाता है - अपडेटेड रिकॉर्ड्स का डेटा tempdb . में स्टोर किया जाता है ।
  • विवरण निष्पादन के दौरान अनन्य लॉक सक्षम किए जा रहे हैं और लेन-देन के अंत में अक्षम हैं

दोहराने योग्य पढ़ें

  • यदि एक लेनदेन में डेटा बदला जा रहा है, तो इस डेटा का चयन (अन्य लेनदेन में या लेनदेन के बिना) पहले लेनदेन के समाप्त होने तक प्रतीक्षा करेगा। के साथ चयन करें NOLOCK संकेत संशोधित, लेकिन अप्रतिबद्ध डेटा लौटाएगा।
  • यदि डेटा एक लेनदेन में पढ़ा जा रहा है, तो अन्य लेनदेन में इस डेटा के अपडेट पहले लेनदेन के समाप्त होने तक प्रतीक्षा करेंगे।
  • साझा लॉक को स्टेटमेंट के निष्पादन के दौरान सक्षम किया जा रहा है और लेनदेन के अंत में अक्षम किया जा रहा है , प्रतिबद्ध पढ़ें के विपरीत।
  • कथन निष्पादन के दौरान अनन्य लॉक सक्षम किए जा रहे हैं और लेन-देन के अंत में अक्षम किए जा रहे हैं

धारावाहिक

  • यदि एक लेन-देन में डेटा बदला जा रहा है, तो इस डेटा का चयन (अन्य लेन-देन में या लेन-देन के बिना) पहले लेनदेन के समाप्त होने तक प्रतीक्षा करेगा। के साथ चयन करें NOLOCK संकेत होगा वापसी संशोधित, लेकिन अप्रतिबद्ध डेटा।
  • यदि डेटा एक लेनदेन में पढ़ा जा रहा है, तो अन्य लेनदेन में इस डेटा के अपडेट पहले लेनदेन के समाप्त होने तक प्रतीक्षा करेंगे।
  • साझा लॉक स्टेटमेंट के निष्पादन के दौरान सक्षम होते हैं और लेन-देन के अंत में अक्षम हो जाते हैं
  • विवरण के निष्पादन के दौरान अनन्य लॉक सक्षम किए जा रहे हैं और लेन-देन के अंत में अक्षम किए जा रहे हैं।
  • क्वेरी मानदंड श्रेणी को पूरा करने वाली चाबियों के लिए विशिष्ट श्रेणी लॉक सक्षम किए जा रहे हैं। इस सीमा में आने वाले नए रिकॉर्ड डालने की अनुमति नहीं है। सेटिंग के समान होल्डो सीके संकेत सभी चयनों के लिए प्रतिबद्ध पढ़ें

स्नैपशॉट
(डेटाबेस xxx सेट allow_snapshot_isolation चालू)

  • यदि एक लेनदेन में डेटा बदला जा रहा है, तो इस डेटा का चयन (अन्य लेनदेन में या लेनदेन के बिना) पहले लेनदेन के समाप्त होने तक प्रतीक्षा नहीं करेगा। और मान लौटाएगा इस समय का लेनदेन प्रारंभ . के साथ चयन करें NOLOCK संकेत होगा वापसी संशोधित, लेकिन अप्रतिबद्ध डेटा।
  • यदि डेटा एक लेनदेन में पढ़ा जा रहा है, तो अन्य लेनदेन में इस डेटा के अपडेट पहले लेनदेन के समाप्त होने तक प्रतीक्षा नहीं करेंगे।
  • साझा ताले का उपयोग नहीं किया जाता है। इसके बजाय रो वर्जनिंग मैकेनिज्म का उपयोग किया जाता है - अपडेटेड रिकॉर्ड्स का डेटा tempdb . में स्टोर किया जाता है ।
  • कथन निष्पादन के दौरान अनन्य लॉक सक्षम किए जा रहे हैं और लेनदेन के अंत में अक्षम किए जा रहे हैं।

एमएसएसक्यूएल 2014 पर परीक्षण किया गया।


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. प्रदर्शन आश्चर्य और अनुमान :मनमाना शीर्ष 1

  2. पिछले 30 दिनों के रिकॉर्ड कैसे प्राप्त करें

  3. पुनरावर्तनीय पढ़ें अलगाव स्तर

  4. लॉग बैकअप लॉगिंग को दबाने के लिए ट्रेस फ्लैग 3226 का उपयोग करना

  5. आरडीबीएमएस बनाम नोएसक्यूएल