본문 바로가기
MySql

MySQL 멀티 스레딩 및 데이터베이스 연결

by 베이스 공부 2020. 12. 6.
반응형

그래서 데이터베이스 연결에 대한 모범 사례를 찾으려고 노력하고 있습니다. MySQL db의 프런트 엔드 역할을하는 큰 .NET GUI가 있습니다. 현재 애플리케이션로드시 연결을 열고 필요한 모든 상호 작용에 사용합니다. 그러나 전체 GUI는 단일 스레드입니다.

큰 쿼리를 위해 BackgroundWorkers를 추가하기 시작하고 실행하면 열린 연결이 걱정됩니다. 예를 들어 해당 연결에서 한 번에 하나의 dataReader 만 열 수 있다는 것을 알고 있습니다. 스레드가 여러 개인 경우 사용자는 그 이상을 인스턴스화하려고 할 수 있습니다.

애플리케이션에 대해 하나의 열린 연결을 유지하는 것과 모든 상호 작용에 대해 새 연결을 여는 것의 장점 / 단점은 무엇입니까?

이에 대한 일반적인 디자인 패턴은 무엇입니까?

감사-

홍옥

 

해결 방법

 

스레드로부터 안전한 연결 풀을 사용하고 스레드별로 연결을 유지합니다 (스레드간에 연결을 공유하지 마십시오).


이 방법의 단점은 연결을 사용할 수있을 때까지 일부 스레드가 차단된다는 것입니다. 프로그램 구조에서이를 고려해야합니다.

 

참조 페이지 https://stackoverflow.com/questions/2311974

 

 

반응형

댓글