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

पंक्ति दर पंक्ति के बजाय MySQL में संपूर्ण तालिका धारण करने के लिए अद्यतन का चयन करें

InnoDB तालिकाओं के लिए डिफ़ॉल्ट अलगाव स्तर पढ़ने योग्य है। जब यह अलगाव स्तर सक्रिय होता है तो हमें निम्नलिखित व्यवहार मिलता है (उद्धरण:https://dev.mysql.com/doc/refman/5.5/en/set-transaction.html ):

दूसरे शब्दों में:क्या आप चयन की WHERE स्थिति में प्राथमिक कुंजी का उपयोग करने का प्रयास कर सकते हैं? तो उदाहरण के लिए इसके बजाय:

START TRANSACTION;
SELECT * FROM productMacAddress WHERE status='free' limit 8 FOR UPDATE;

कोशिश करें:

START TRANSACTION;
SELECT * FROM productMacAddress WHERE id=10 FOR UPDATE;

मामले में आईडी प्राथमिक कुंजी है। उस पर एक अद्वितीय अनुक्रमणिका वाला कोई अन्य कॉलम भी काम करेगा। आपके WHERE क्लॉज में गैर-अद्वितीय कॉलम का उपयोग करते समय InnoDB पंक्तियों की एक श्रृंखला को लॉक कर देगा।




  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 प्रदर्शन:MySQL को मारियाडीबी में कनवर्ट करना

  2. दो तालिकाओं से मिलान रिकॉर्ड

  3. संख्यात्मक भाग द्वारा अल्फ़ान्यूमेरिक स्ट्रिंग को ऑर्डर करने के लिए SQL

  4. MySQL और Python सेलेक्ट स्टेटमेंट इश्यूज

  5. नोड-mysql:एकाधिक कथन प्रश्न, ER_PARSE_ERROR