2010-03-04 3 views
1

.net에서 직접 데이터베이스 개체를 만들려고합니다. 생성자는 연결 문자열을 받아 MySQL Connector를 사용하여 MySQL 데이터베이스에 대한 연결을 엽니 다..NET의 연결 풀링

function executeNonQuery(cmd as String) as Boolean 
function getOneResultQuery(query as String) as String 
function getDataReader(query as String) as MySQLDataReader 

작업에 db가 필요하면 데이터베이스 개체를 인스턴스화하고 필요한 명령을 호출합니다. 데이터베이스로 작업이 끝나면 disconnect() 함수를 호출합니다.

MySQL 연결 풀링을 활용합니까? 각 작업이 DB에 연결되고 연결이 끊어지기 때문에 (때로는 둘 이상의 연결이 열리는 경우도 있고 때로는 하나의 연결이 열리는 경우도 있고 때로는 연결이 열리지 않는 경우도 있음) 연결이 풀에 저장됩니까? 연결 풀링을 사용하려면 하나의 연결을 영구적으로 열어 두어야합니까?

이 데이터베이스 개체는 훌륭한 연습입니까 아니면 과장입니까?

답변

0

저는 MySQL 전문가가 아니지만 SQL Server에서 연결 풀링이 작동하는 방식을 알고 있으므로 의심스러운 부분이 있는지 살펴 보았습니다.

this post에 따르면 .Net에서 MySql에 대한 연결 풀링은 동일한 연결 문자열을 사용하는 경우와 유사합니다 (이 경우 정확히 대소 문자를 구분하는 등의 의미 임) 연결 풀링이 프레임 워크에 의해 자동으로 구현됩니다 .

그런 경우라면 과도하게 생각하고 개방 연결을 유지할 필요가 없습니다. (대부분의 경우 문제를 일으키는 것은 나쁜 습관입니다.)

.Net 런타임이 세부 정보를 추출하는 방법에 대한 전반적인 이해를 바탕으로,이 대답에 답을 표시하고 주석이 아닌 내용으로 게시하는 데 충분한 확신을가집니다.

+0

흥미 롭습니다. 그러나 대부분의 요청에서 연결 시간은 쿼리 실행 시간보다 길다. – cyrianox