Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Một kết nối cơ sở dữ liệu có nên luôn mở hay chỉ được mở khi cần thiết?

Kết nối cơ sở dữ liệu chỉ được mở khi cần thiết và đóng lại sau khi thực hiện tất cả các công việc cần thiết với nó. Mẫu mã:

  • Trước 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
    

Nhưng vì việc mở kết nối cơ sở dữ liệu theo cách thủ công quá tốn kém, bạn nên sử dụng nhóm kết nối cơ sở dữ liệu , được trình bày bằng Java với DataSource giao diện. Điều này sẽ xử lý các kết nối cơ sở dữ liệu vật lý cho bạn và khi bạn đóng nó (tức là đang gọi Connection#close ), kết nối cơ sở dữ liệu vật lý sẽ chỉ ở chế độ SLEEP và vẫn đang mở.

Hỏi / Đáp liên quan:

Một số công cụ để xử lý gộp kết nối cơ sở dữ liệu:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Khắc phục sự cố Lỗi kết hợp bất hợp pháp các đối chiếu trong mysql

  2. Cách đặt lại AUTO_INCREMENT trong MySQL

  3. Chọn tất cả các tháng trong khoảng ngày nhất định, bao gồm cả những tháng có 0 giá trị

  4. Giới thiệu về các lệnh SQL

  5. Ngăn chặn tự động gia tăng trên chèn trùng lặp MySQL