単一接続オブジェクトを使用して単一の関数で複数のクエリを実行しようとしています。このようなシナリオでデータベース接続を閉じるベストプラクティスを知りたいと思います。現在、すべてのdb呼び出しが完了すると、接続を閉じます。私は、接続を閉じて、すべてのdbコールのための新しい接続を開く必要があるかどうか疑問に思っています。どちらが良いですか?同じ関数内でデータベースを複数回呼び出すときにJDBC接続を閉じる
答えて
Connection
は可能な限り開いたままにしてください。データベース接続を作成するのは(比較的)高価な操作なので、必要な頻度で行う必要はありません。寿命を管理するに
は、あなたが上にあると仮定しthe try-with-resources statementを使用する必要があり、少なくともJavaの7:
try (Connection connection = myDataSource.getConnection()) {
// Do your queries here
}
しかし、他のdbコールで使用できる接続を使用しないでください。 – KItis
私は従いません。ある行で複数のクエリを実行する場合、それらの間の 'Connection'を解放しないでください。 –
私は完全には同意しません、できるだけ早く(論理的な)接続を閉じるべきです(つまり、作業単位が完了したとき)。物理接続を作成する費用は、接続プールを使用して補う必要があります。 –
- 1. 同じphpページで同じ関数を2回呼び出す
- 2. 複数のCTEを同じクエリで複数回呼び出す
- 3. Javascript別のパラメータで同じ関数を複数回呼び出す
- 4. py.testで同じフィクスチャを複数回呼び出す
- 5. 複数のAJAXを同じ関数を呼び出して呼び出す
- 6. C++:複数のクラスの同じ関数を呼び出す
- 7. 同じように呼び出す<script>複数回
- 8. Python concurrent.futuresが同じ関数を2回呼び出す
- 9. 単一のトランザクションのスコープ内で同じADO.NETコマンドを複数回呼び出す
- 10. 複数の関数呼び出しは、同じ入力引数
- 11. 同じクラス内でプライベート関数を呼び出す
- 12. C# - ループ内で同じjavascript関数を呼び出す
- 13. Laravel関数呼び出しと同じコントローラ内での返信
- 14. mysql接続を複数回開いて閉じる
- 15. 連続した同じ行の関数呼び出しとアンパック
- 16. 同じページでYUI.addを同じモジュールに対して複数回呼び出すことは安全ですか?
- 17. SparkのMYSQL JDBC接続を閉じる
- 18. MyBatis - 同じサービスコールで複数のデータベースに接続する
- 19. 複数のテキストボックスデータをターゲットテキストボックスにコピーする同じ関数を呼び出す
- 20. メッセージWCF関数を呼び出すときに '基本接続が閉じられました'
- 21. 他の関数で呼び出したときにポップアップウィンドウを閉じる方法
- 22. 毎回同じ関数内の同じコードを再帰的に呼び出す方法
- 23. 同じパッケージ内の関数またはプロシージャを呼び出す
- 24. イベント内から同じオブジェクトの関数を呼び出す
- 25. 同じファイル内の別の関数で関数を呼び出す
- 26. 呼び出し関数のパラメータを閉じることができますか?
- 27. モーダルが閉じているときに親の関数を呼び出す
- 28. 関数を呼び出す複数回
- 29. 親と同じ引数を持つ呼び出し関数
- 30. 同じ方法で関数とプロパティを呼び出すか?
は、なぜあなたは、データベースへのすべての呼び出しのための新しい接続を閉じる/作成する必要性を感じるでしょうか? @Seanが示唆しているものを使用すると、複数の呼び出しを含むことができるトランザクションごとにインスタンスを使用することがより理にかなっています。 – px06