2017-03-23 3 views
0

私はMySQLデータベースを初めて使い、テーブルロック/デッドロックに問題があります。私たちは毎日重いトランザクションを実行するシステムを実行しており、時にはデッドロックが発生しました。待機時間を超過した場合、トランザクションに何が起こったのかを知りたいと思います。彼らは取り消されますか(ロールバック)?トランザクションを再度手動で実行する必要がありますか、デッドロックが解決された後にアプリケーションがトランザクションを自動的に再試行しましたか? InnodbエンジンでMySQL 5.7を使用しています。待ち時間を超過した後、mysqlトランザクションはどうなりますか?

おかげ

答えて

0

それはuがよく見るコミットトランザクションコマンドは、試すの最後にありますつまり場合は、それが唯一の成功にコミットされますトランザクションを使用している場合は、使用しているdbがどのような問題dosen'tましたその行が呼び出されない限り、を書いてください。のDBへの変更は行われません。したがって、タイムアウトエラーの状況でロールバックされることが保証されます。

+0

はい。しかし、実際の問題はテーブルのロック/デッドロックに関連しており、トランザクションはユーザーのシステムで実行されていました。 – Damien

+0

デッドロックの場合、ロックを使用することはできませんが、もしそれが読者の機能性 –

関連する問題