私は最近mysql 5.7にアップグレードし、頻繁なデッドロックの問題を観察しました。前にこの問題を経験しなかったので5.7のロックに関連する変更はありますか?私は最近mysql 5.7にアップグレードし、頻繁なデッドロックの問題を観察しました。 5.7でのロックに関連する変更はありますか?
私はretry_recordsが自動を持つと呼ばれる単純なテーブルを持っているが一意のインデックスと2つの列と主キーと列unique_referenceとしてIDをインクリメント。このテーブルは、コードのセクションでは、このテーブルからn個のレコードを選択した場合、プロセスデータ完全マルチスレッド環境で使用され、プロセス障害およびコードの他の部分の場合には、このテーブルを更新するテーブルと他のいくつかの処理されたレコードを削除され、取得されますコードのセクションがこのテーブルに新しいレコードを挿入しています。どのクエリにも結合はなく、一括挿入、一括更新、選択以外の一括削除はありません。すべての更新/削除/挿入トランザクションには単一の文があります。それでも私は挿入時にデッドロックを観察しています。
------------------------
LATEST DETECTED DEADLOCK
------------------------
2016-09-22 13:05:09 0x7f3f427e0700
*** (1) TRANSACTION:
TRANSACTION 39420432534, ACTIVE 0 sec inserting
mysql tables in use 1, locked 1
LOCK WAIT 3 lock struct(s), heap size 1136, 2 row lock(s), undo log entries 1
MySQL thread id 37503, OS thread handle 139917976340224, query id 1695822465
挿入クエリ..
*** (1) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 1334 page no 1726952 n bits 312 index id of table `database_name`.`table_name` trx id 39420432534 lock_mode X insert intention waiting
Record lock, heap no 1 PHYSICAL RECORD: n_fields 1; compact format; info bits 0
0: len 8; hex 73757072656d756d; asc supremum;;
*** (2) TRANSACTION:
TRANSACTION 39420432524, ACTIVE 0 sec inserting
mysql tables in use 1, locked 1
6 lock struct(s), heap size 1136, 5 row lock(s), undo log entries 1
MySQL thread id 37494, OS thread handle 139909675222784, query id 1695822438
別のINSERTクエリ...私は同様の問題を経験した
*** (2) HOLDS THE LOCK(S):
RECORD LOCKS space id 1334 page no 1726952 n bits 312 index id of table
*** (2) WAITING FOR THIS LOCK TO BE GRANTED:
RECORD LOCKS space id 1334 page no 1726952 n bits 312 index id of table
Record lock, heap no 1 PHYSICAL RECORD: n_fields 1; compact format; info bits 0
0: len 8; hex 73757072656d756d; asc supremum;;
あなたのタイトルは、1)あなたが最近5.7にアップグレードすることを暗示しているようだ、と2)あなたは前にこれらの問題を経験していません。それらが正しい場合は、あなたの質問に直接記載してください。他のポイントが真であるかどうかにかかわらず、実際のクエリと 'SHOW CREATE TABLE tablename'出力はどちらも傷つきません。 –
ウィレムレンゼマとライアン・ヴィンセントに感謝します。私は質問に関連する詳細をいくつか追加しました。助けてください。 – Rahul