데이터 베이스 관련 공부를 하다보니 궁금한 점들이 몇 가지 생겼다. 관련 내용을 간략하게 포스팅으로 정리하려고 한다.
DB Connection을 사용한 이후 Close를 해야하는 이유는?
어플리케이션에서 DB에 접근 할 때 JDBC를 활용하여 connection을 획득하고 데이터 관련 모든 작업들이 끝나면 꼭 connection을 close해주어야 하는데, 그 이유는 무엇일까?
DB마다는 제공해주는 커넥션의 갯수는 한정되어있다. 위 사진 처럼 Mysql에서는 최대 151개의 connection을 제공해주는데, 어플리케이션에서 데이터베이스와 관련된 작업 이후 connection을 종료하지 않으면 계속 connection을 쓰는 상황이 유지된다.
이 상황에서 conection을 close하지 않고 어플리케이션 사용자가 많아지게 되면, 모든 connection을 사용하고 있으므로 연결 메모리 누수 현상이 발생하게 된다.
메모리 누수란, 프로그램 구동중에 필요치 않은 메모리가 계속해서 점유하고 있는 현상을 말한다.
다시 말해, 작업이 끝났음에도 connection을 사용한다면, 정작 필요한 작업에 connection을 부여하지 못하여 관련된 작업을 하지 못하게 된다.
따라서 db관련 작업이 필요할 때 connection을 획득하고 모든 작업이 끝나면 꼭 connection을 close해주어 연결메모리 누수 현상을 막아야한다.
'DB' 카테고리의 다른 글
DB 쿼리 성능을 개선해보자 (0) | 2023.04.05 |
---|---|
식별관계와 비식별관계 (0) | 2023.03.28 |
DB Index에 대하여 (0) | 2023.03.10 |
Transaction(트랜잭션)이란 (0) | 2023.01.01 |
JDBC에 관하여 (0) | 2022.07.29 |