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

MySQL पर गतिरोध कैसे पैदा करें

इसके लिए दो सत्रों का उपयोग करके कई पोस्ट हैं।

https://dba.stackexchange.com/questions/309/code -से-अनुकरण-गतिरोध

http://www.xaprb.com/blog/2006/08/08/how-to-deliberately-cause-a-deadlock-in-mysql/

उपरोक्त दूसरे लेख से कॉपी की गई विधि

सबसे पहले, एक अप्रयुक्त तालिका नाम चुनें। मैं test.innodb_deadlock_maker का उपयोग करूंगा। यहां वे कथन दिए गए हैं जिन्हें आपको निष्पादित करने की आवश्यकता है:

create table test.innodb_deadlock_maker(a int primary key) engine=innodb;
insert into test.innodb_deadlock_maker(a) values(0), (1);

अब टेबल और उसका डेटा सेट हो गया है। इसके बाद, दो अलग-अलग कनेक्शनों पर निम्नलिखित को निष्पादित करें:

-- कनेक्शन 0

set transaction isolation level serializable;
start transaction;
select * from test.innodb_deadlock_maker where a = 0;
update test.innodb_deadlock_maker set a = 0 where a <> 0;

-- कनेक्शन 1

set transaction isolation level serializable;
start transaction;
select * from test.innodb_deadlock_maker where a = 1;
update test.innodb_deadlock_maker set a = 1 where a <> 1;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या कोई यह समझाने में मदद कर सकता है कि SQL जॉइन का उपयोग क्यों नहीं करना खराब अभ्यास और गलत है?

  2. एकल कथन में जावा में निष्पादित एकाधिक प्रश्न

  3. दिनांक डालने में त्रुटि - गलत दिनांक मान:

  4. PHP के लिए MySQL कनेक्शन विवरण डालने के लिए सबसे सुरक्षित स्थान कहाँ है?

  5. मैसकल:मैकोज़ पर इंस्टॉलेशन के ठीक बाद उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' के लिए एक्सेस अस्वीकृत