web-dev-qa-db-ja.com

複数のMysql単一接続共有Javaスレッド?

Java複数のスレッドが開始されたアプリケーションがあり、それらはすべてmain関数で作成された単一のdb接続を共有しています。これまでのところ順調に進んでいます。問題が発生するのではないかと心配しています。腐敗などの未来?

2
user111196

次の場合に問題が発生します。
-トランザクションを使用します。同じ接続でトランザクションを開始する2つのスレッドは、データにとって適切ではありません。 1つのスレッドがロールバックを必要とする場合にmysqlが何をするかを考えてください
-自動インクリメントとLAST_INSERT_IDを使用します。 2つのスレッドが同じテーブルで同時に動作する場合、同じ接続を共有していれば、最後のIDは両方で同じです。
-「単純な」ものだけを使用しない場合は、さらに多くの問題が発生する可能性があります(別名select/insert/update

2
Gregory MOUSSAT