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

MySQL एक्सक्लूसिव लॉक

हां, जब आप user_id जैसे अनइंडेक्स किए गए कॉलम पर एक शर्त रखते हैं, तो आप तालिका की सभी पंक्तियों को लॉक कर रहे होते हैं ।

ताले सभी "जांच की गई" पंक्तियों पर लागू होते हैं। आपकी स्थिति WHERE user_id = <user_id> सभी की जांच करनी चाहिए तालिका में पंक्तियाँ, और उनका एक-एक करके परीक्षण करके देखें कि क्या वे <user_id> के मान से मेल खाते हैं ।

दोनों प्रश्न पंक्तियों के पूरे सेट की जांच कर रहे हैं, भले ही वे <user_id> के विभिन्न विशिष्ट मानों की खोज कर रहे हों , इसलिए वे विरोध करते हैं।

यदि आपके पास user_id . पर एक अनुक्रमणिका थी कॉलम, फिर MySQL उस इंडेक्स का उपयोग पहले मेल खाने वाली पंक्तियों को खोजने के लिए करेगा, फिर केवल मिलान करने वाली पंक्तियाँ जांची गई पंक्तियाँ बन जाएँगी, और इसलिए लॉक हो जाएँगी।

इसका लेनदेन अलगाव स्तर से कोई लेना-देना नहीं है। इस प्रकार के ताले सभी लेन-देन अलगाव स्तरों में होते हैं।




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL में दृश्य अद्यतन कर रहा है

  2. सी # में MySQL कनेक्शन स्थिति की जांच कैसे करें

  3. Ubuntu 10.10 (Maverick) पर phpMyAdmin के साथ MySQL प्रबंधित करें

  4. जावा का उपयोग कर डेटाबेस कनेक्शन में MySQL टाइमज़ोन कैसे बदलें?

  5. संपूर्ण सबनेट के लिए MySQL को दूरस्थ पहुँच कैसे प्रदान करें?