2013-03-08 4 views
0

이 질문은 좋은 아이디어/나쁜 아이디어입니다. 짧은 시간에 여러 번 MySQL 연결을 사용하고 있습니다.중간에 mySQL 연결을 닫아야합니까?

이러한 각 메서드에 대해 동일한 연결을 다시 사용하고 있지만 각 호출에서 연결을 열고 닫는 중입니다. 문제는 다시 열려고 시도하기 전에 연결이 열려 있지 않은지 확인해야한다는 것입니다.

그래서 질문은 : 메서드 호출 사이에 MySQL 연결을 열어 둘 위험이 있습니까? 나는 그걸 열어두고 가능한 한 속도를 향상시키고 싶습니다.

어떤 조언을 주셔서 감사합니다!

+1

아니요. 연결을 종료해야하는 유일한 시간은 ** 사용을 마치고 ** 알았을 때입니다. 일반적으로 스크립트는 하나의 연결 만 열고 그 스크립트의 수명 내내 사용하십시오. 즉, 잘 알려진 연결로 시작하려는 경우가있을 수 있으며 이러한 경우 닫을 수 있습니다. –

답변

1

일반적으로 동일한 클래스/라이브러리/코드 범위에있는 경우 다시 열지 않아도됩니다.

이것은 사용중인 수신 연결 라이브러리에 따라 다릅니다. 연결 풀링을 사용하는 경우 라이브러리의 일부는 실제로 연결을 닫지 않고 즉시 풀에 반환합니다.

연결을 다시 사용하는 것에 대한 유일한 설명은 연결에 특정한 변수를 사용하는 경우 동일한 연결에 대해 여전히 유효하며 다른 쿼리가 그 중 하나를 사용하면 나중에 문제가 발생할 수 있다는 것입니다. 더 이상 의존하지 않는 과거 쿼리의 값을가집니다. 그러나 이렇게하면 처음에는 변수의 적합성에 대한 질문이 제기됩니다.

MySQL 내에서 연결을 여는 것은 다른 데이터베이스와 비교할 때 매우 가볍지 만, 피할 수 있으면 추가 작업을해서는 안됩니다.

관련 문제