sql >> Databáze >  >> RDS >> Mysql

Mělo by být připojení k databázi stále otevřené nebo by se mělo otevřít pouze v případě potřeby?

Databázové připojení musí být otevřeno pouze tehdy, když je to potřeba, a ukončeno po provedení všech nezbytných úkonů s ním. Ukázka kódu:

  • Před verzí 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
    

Ale protože ruční otevření připojení k databázi je příliš drahé, důrazně se doporučuje použít fondu připojení k databázi , zastoupené v jazyce Java pomocí DataSource." rozhraní. To za vás zpracuje fyzická databázová připojení a při zavření to (tj. volání Connection#close ), připojení fyzické databáze bude pouze v režimu SLEEP a bude stále otevřené.

Související otázky/odpovědi:

Některé nástroje pro správu sdružování databázových připojení:



  1. Jak funguje SEC_TO_TIME() v MariaDB

  2. Jak vypsat tabulky ovlivněné kaskádovým mazáním

  3. SQL Query - zřetězení výsledků do jednoho řetězce

  4. SQL Vnitřní spojení na vybraných příkazech