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

データベース接続は常に開いたままにする必要がありますか、それとも必要な場合にのみ開く必要がありますか?

    データベース接続は、必要なときにのみ開いて、必要なすべてのジョブを実行した後に閉じる必要があります。コードサンプル:

    • Java 7より前:

        Connection con = null;
        try {
            con = ... //retrieve the database connection
            //do your work...
        } catch (SQLException e) {
            //handle the exception
        } finally {
            try {
                if (con != null) {
                    con.close();
                }
            } catch (SQLException shouldNotHandleMe) {
                //...
            }
        }
      
    • Java 7:

        try (Connection con = ...) {
        } catch (SQLException e) {
        }
        //no need to call Connection#close since now Connection interface extends Autocloseable
      

    ただし、データベース接続を手動で開くにはコストがかかりすぎるため、データベース接続プール 、JavaでDataSource インターフェース。これにより、物理データベース接続が処理され、閉じるときに処理されます。 それ(つまり、Connection#closeを呼び出す )、物理データベース接続はスリープモードのままで、開いたままになります。

    関連するQ/A:

    データベース接続プールを処理するためのいくつかのツール:



    1. PostgreSQLはテーブル(フラグメント)の透過的な圧縮をサポートしていますか?

    2. SQLiteクエリ例外AndroidStudio構文エラーコード1

    3. MATCH AGAINSTとLIKEのどちらのSQLクエリが優れていますか?

    4. PLSQLを使用してOracleテーブルからExcelにデータをエクスポートする