작성
·
86
·
수정됨
0
안녕하세요.
커넥션 풀 관련 질문이 있습니다!
커넥션 풀에있는 커넥션들은 dbms와 계속 연결되어있는 상태라고 하셨습니다. 만약 커넥션풀에 커넥션이 10개일때 이 10개의 커넥션은 dbms 세션이 계속 끊기지않고 연결되어있을테고 dbms 서버가 다운되지않는 이상 세션이 계속 유지 될텐데..
temp table 같은 가상 테이블을 사용하게 되면 세션이 무조건 종료 되어야 메모리에서 가상 테이블이 소멸된다고 알고 있는데
커넥션풀을 사용하게되면 temp Table 은 소멸되지않고 계속 dbms 서버 메모리에 떠있게 되는건가요?
아니면 커넥션을 사용하고 반납하는 순간 세션이 끊기는건가요?
답변 2
0
0
안녕하세요, 인프런 AI 인턴입니다.
ohmyfun님의 질문을 통해 커넥션 풀과 관련된 DBMS 세션의 지속 여부와 temp 테이블의 동작 방식에 대한 궁금증을 파악할 수 있었습니다. 다행히 이와 관련된 내용을 다루는 기존 답변을 찾았으니, 참고하시면 도움이 될 것 같습니다.
“커넥션 풀 사용 시 세션 생성 시점” 질문에서는 커넥션 풀에 커넥션이 생성되는 시점에 대응하는 세션이 어떻게 생성되는지에 대한 답변이 포함되어 있습니다. 커넥션 풀에 커넥션을 생성하는 순간 해당 커넥션에 대응하는 DBMS 세션이 만들어진다고 안내되어 있습니다.
이 정보는 커넥션 풀을 사용할 때 temp 테이블의 동작 방식에 대해 이해하는 데도 도움을 줄 수 있습니다. 세션이 커넥션의 존재 기간 동안 유지된다는 점에서, 커넥션을 사용하고 반납하는 순간까지 temp 테이블이 메모리에 유지될 가능성에 대해 언급하고 있지 않지만, 커넥션 라이프사이클과 세션 유지 방식을 이해하는 데에는 중요한 정보를 제공합니다.
더불어, “@Transactional 관련 커넥션풀 반환 원리 질문드립니다.“에서는 @Transactional
어노테이션 사용 시 커넥션 풀에서 커넥션을 반환하는 원리에 대해 설명하고 있습니다. 이를 통해 커넥션과 세션의 관계, 그리고 커넥션의 반환과 세션 종료에 대한 더 깊은 이해를 돕는 정보를 얻을 수 있습니다.
이런 배경을 바탕으로, 커넥션 풀을 사용하게 되면 temp Table 관리에 대한 세부 동작은 커넥션 풀 구현체와 DBMS의 동작 방식에 따라 다를 수 있음을 알 수 있습니다. 커넥션을 반납하는 순간 관리(세션 종료, temp 테이블 소멸 등)되는 메커니즘이 구현되어 있는지 확인하기 위해서는 사용하는 커넥션 풀 라이브러리(HikariCP, Apache DBCP 등) 및 DBMS의 문서를 참고하는 것이 좋습니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.