반응형
그래서 데이터베이스 연결에 대한 모범 사례를 찾으려고 노력하고 있습니다. MySQL db의 프런트 엔드 역할을하는 큰 .NET GUI가 있습니다. 현재 애플리케이션로드시 연결을 열고 필요한 모든 상호 작용에 사용합니다. 그러나 전체 GUI는 단일 스레드입니다.
큰 쿼리를 위해 BackgroundWorkers를 추가하기 시작하고 실행하면 열린 연결이 걱정됩니다. 예를 들어 해당 연결에서 한 번에 하나의 dataReader 만 열 수 있다는 것을 알고 있습니다. 스레드가 여러 개인 경우 사용자는 그 이상을 인스턴스화하려고 할 수 있습니다.
애플리케이션에 대해 하나의 열린 연결을 유지하는 것과 모든 상호 작용에 대해 새 연결을 여는 것의 장점 / 단점은 무엇입니까?
이에 대한 일반적인 디자인 패턴은 무엇입니까?
감사-
홍옥
해결 방법
스레드로부터 안전한 연결 풀을 사용하고 스레드별로 연결을 유지합니다 (스레드간에 연결을 공유하지 마십시오).
이 방법의 단점은 연결을 사용할 수있을 때까지 일부 스레드가 차단된다는 것입니다. 프로그램 구조에서이를 고려해야합니다.
참조 페이지 https://stackoverflow.com/questions/2311974
반응형
'MySql' 카테고리의 다른 글
MySQL 내부 조인 테이블에 인덱스를 강제하는 방법은 무엇입니까? (0) | 2020.12.07 |
---|---|
MySQL mysql 쿼리는 열 값이 동일한 여러 행을 선택합니다. (0) | 2020.12.06 |
MySQL SQL 주입을 방지하기 위해 mysql_real_escape_string을 어디에 사용합니까? (0) | 2020.12.06 |
MySQL 라운드가 예상보다 더 많이 떠 다니는 이유는 무엇입니까? (0) | 2020.12.06 |
MySQL 사용자가 로그인 할 때 updated_at 열을 업데이트하는 방법은 무엇입니까? (0) | 2020.12.06 |
댓글