PZ3U6X
PZ3U6X
PZ3U6X
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
想 定 外 のデッドロック<br />
• MySQLのInnoDBストレージエンジンに 対 して、2つのトランザクション<br />
を 以 下 の 順 番 で 実 行 するとデッドロックが 発 生 します。<br />
1:REPEATABLE_READ<br />
2:REPEATABLE_READ<br />
1:UPDATE:DELETE FROM emp WHERE empno = 7784<br />
(1:UPDATE:COUNT=0)<br />
2:UPDATE:DELETE FROM emp WHERE empno = 7786<br />
(2:UPDATE:COUNT=0)<br />
1:UPDATE:INSERT INTO emp (empno, ename) VALUES (7784, 'steve')<br />
2:UPDATE:INSERT INTO emp (empno, ename) VALUES (7786, 'bill')<br />
(1:UPDATE:COUNT=1)<br />
(2:UPDATE:COUNT=0)<br />
(2:com.mysql.jdbc.exceptions.jdbc4.MySQLTransactionRollbackException:<br />
Deadlock found when trying to get lock; try restarting transaction)<br />
2:ABORT<br />
7698<br />
(blake)<br />
7782<br />
(clark)<br />
7788<br />
(scott)<br />
7839<br />
(king)<br />
• このデッドロックの 発 生 メカニズムを 理 解 するために、InnoDBのロック<br />
アーキテクチャについて 確 認 していきます。<br />
4