여러 스레드를 사용하여 다른 테이블에 삽입 레코드를 삽입하려고합니다. 또한 효율성 향상을 위해 레코드 삽입을 위해 일괄 처리를 사용하고 있습니다.멀티 스레드 프로그램에서 connection-pooling을 사용해야합니까?
참고 : 삽입 할 레코드 수는 수백만 개입니다.
이 멀티 스레드 환경에서 연결 풀링을 사용해야합니까? 내 질문은 입니까?
내 우려 :
각 스레드는 데이터베이스 작업을 수행하는 것은 매우 언젠가 실행거야. 따라서 연결 풀의 크기가 2이고 스레드 수가 4 인 경우 주어진 순간에 2 개의 스레드 만 실행됩니다. 결과적으로, 다른 두 개의 쓰레드는 오랜 시간 동안 연결을 유지하는 데 이상적입니다. 왜냐하면 백만 개의 레코드에 대한 db 작업은 시간이 많이 걸리기 때문입니다. 게다가 이러한 연결 풀링은 다중 스레드를 사용하는 목적을 방해합니다.
이렇게 수집 풀이해야 스레드 수와 같은 크기 여야합니다. –
그러면 연결 풀을 어떻게 사용할 것입니까? 연결 풀을 사용하지 않고 n 개의 연결을 만들 수 있으므로 – Touchstone
연결을 설정하는 데 시간이 오래 걸립니다. 한 번 해보는 것이 더 좋습니다. –