sql >> データベース >  >> RDS >> Oracle

JDBCの基本概念、プーリングとスレッド化

    接続プールは、独自のラッパー実装でConnectionインスタンスとStatementインスタンスを装飾します。接続でcloseを呼び出すと、実際にはそれをプールに解放するだけです。プリペアドステートメントでcloseを呼び出すと、実際にはそれを接続のステートメントキャッシュに解放するだけです。ステートメントを準備するときは、接続からキャッシュされたステートメントインスタンスをフェッチしているだけかもしれません。これらはすべて非表示になっているため、心配する必要はありません。

    クライアントに接続が与えられると、接続がプールに解放されるまで、他のクライアントが使用することはできなくなります。通常、接続は必要なときにフェッチし、使い終わったらすぐに返します。接続はプール内で開いたままになっているため、接続のフェッチと解放のオーバーヘッドはほとんどありません。

    単一のJBDC接続と同じようにプールからの接続を使用し、接続やステートメントがリークしないように、リソースのクローズに関するベストプラクティスに従う必要があります。他のいくつかの回答のtry/catch/finallyの例を参照してください。

    プールは、接続リソースを管理し、クライアントに配布する前にそれらをテストして、古くなっていないことを確認できます。また、プールは必要に応じて接続を作成および破棄します。



    1. MySQLで四半期の最初の日付を取得するにはどうすればよいですか?

    2. SQL-Oracleで最大値の列を持つ行を選択する方法

    3. TIMEFROMPARTS()SQL Server(T-SQL)の例

    4. PDOを使用したデータベース内の行の一致に問題がある