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

संग्रहीत कार्यविधि का उपयोग करके MySQL डेटाबेस में समवर्ती पहुँच

सबसे पहले, जैसा कि किसी अन्य पोस्ट में बताया गया है, InnoDB का उपयोग करें। यह MySQL 5.5 के रूप में डिफ़ॉल्ट स्टोरेज इंजन है और अधिक मजबूत है।

दूसरा, इस पेज को देखें:http:// dev.mysql.com/doc/refman/5.5/hi/innodb-locking-reads.html

जब तक आपका लेन-देन पूरा नहीं हो जाता, तब तक आप जिस पंक्ति को अपडेट करने वाले हैं उसे पढ़ने से रोकने के लिए आपको SELECT... FOR UPDATE का उपयोग करना चाहिए:

START TRANSACTION;

SELECT value INTO @value
FROM mytable
WHERE id = 5
FOR UPDATE;

UPDATE mytable
SET value = value + 1
WHERE id = 5;

COMMIT;

यह टेबल को लॉक करने से बेहतर है क्योंकि InnoDB रो लेवल लॉक करता है। ऊपर दिया गया लेन-देन केवल उन पंक्तियों को लॉक करेगा जहां id =5... इसलिए id =10 के साथ काम करने वाली कोई अन्य क्वेरी इस क्वेरी द्वारा रोकी नहीं जाएगी।



  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. एसवीजी मानचित्र पर क्लिक करने से एसक्यूएल से डेटा प्रदर्शित करना

  3. क्या चयन कथन में कॉलम का क्रम क्वेरी गति को प्रभावित करता है?

  4. चालू सप्ताह के लिए आदेश तालिका से रिकॉर्ड खींचे

  5. MySQL पासवर्ड PHP के साथ MySQL से कनेक्ट हो रहा है