テーブルがロックされているかどうかを確認します:
mysql コマンド ラインで直接実行します: show Engine innodb status\G。
デッドロックの原因となったSQL文を確認し、インデックスの状況を分析し、SQLを最適化します。
次に、show processlistを実行して、デッドロックの原因となったSQL文を確認し、時間がかかりました。
「%lock%」のようなステータスを表示します。
# テーブル ロックのステータスを確認し、デッドロック ステップを終了します:
1. テーブル ロックのステータスを確認しますshow OPEN TABLES where In_use > 0; このステートメントは、現在のロック テーブルのステータスを記録します 2. クエリ プロセスshow processlist クエリ テーブル ロックされたプロセスクエリ 対応するプロセスkill id3. ロックされたテーブルの SQL を分析します対応する SQL を分析し、テーブルにインデックスを追加し、共通フィールドにインデックスを追加し、テーブル関連フィールドにインデックスを追加します
ロックされているものを表示:
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS.ロックを待機しているものを表示:
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS.以上がMySQLはテーブルがロックされているかどうかをチェックしますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。