답변
연결 (지속성이 아닐 경우)은 스크립트가 끝날 때마다 항상 닫히므로 이론적으로 직접 닫지 않아도됩니다.
PHP 스크립트를 실행하는 데 많은 시간이 필요하다면 더 이상 데이터베이스에 대한 요청을 할 필요가 없을 때 연결을 닫는 것이 좋습니다. 적어도 긴 계산이 완료되면 연결을 닫는 것이 좋습니다. 쿼리 후.
응용 프로그램이 공유 호스팅에 배포 된 경우 특히 그렇습니다. 사용자 계정은 일반적으로 동시에 몇 개의 연결 만 열 수 있습니다. (공유 연결에서 동시 연결 수는 매우 적을 수 있으며 일반적으로 사설 서버에서 더 크다).
이유는 우리가 종종 가까운 연결 ourselfves을은 다음과 같습니다
-
-이 만들어진 페이지와 특히 사실이다 작은 "블록"이 많이 있습니다. 그것들 각각은 다른 것들과 독립적이며, 독자적으로 질의를 할 수 있습니다. 언제 연결을 끊을 수 있습니까?
- 웹 페이지는 일반적으로 생성 속도가 매우 빠르기 때문에 DB 연결을 닫지 않아도됩니다.
연결을 끊지 않을 때마다 DBA가 새끼 고양이를 죽입니다. – Eric
연결을 끊지 않을 때마다 PHP가 나를 위해 일합니다 .-p PHP가 새끼 고양이를 저장합니다! ;; 사실, 블록으로 만들어진 페이지로 말한 것은 사실입니다. 예를 들어, 어떤 CMS에 대해서 생각해보십시오. 연결을 닫아야한다는 것을 언제 알 수 있습니까? PHP 코드의 실행이 끝나면 (일부 "블록"은 여전히 일부 SQL 쿼리를 수행해야 할 수도 있습니다) ;; 그래서 손으로 연결을 닫는 것은 꽤 쓸모가 없습니다 ... ;;; 물론, 시간이 걸리고 PDF 쿼리와 같은 DB 쿼리를 수행하지 않는 무언가를 생성하는 경우는 예외입니다. –
장기 실행 처리를 수행하려고하지만 데이터베이스 쿼리가 끝나면 연결을 열어 두지 않는 것이 이점입니다. 사용자 세션 열기 (다른 요청을 차단)를 유지하는 경우에도 마찬가지입니다.
예를 들어 큰 PDF 보고서를 만드는 중일 수 있습니다. 이렇게하면 파일을 만들고 쓰는 데 20-30 초가 걸릴 수 있지만 필요한 모든 데이터는 초 단위로 가져옵니다.
일반적으로 자동으로 연결을 설정할 수도 있습니다 (연결이 지속되지 않는다고 가정).
- 1. 왜 mongoDB가 objectID를 사용합니까?
- 2. 왜 Dispatcher.BeginInvoke를 사용합니까?
- 3. 왜 Heroku는 Postgresql을 사용합니까?
- 4. 왜 Mocking Framework를 사용합니까?
- 5. 왜 is_safe를 사용합니까?
- 6. 왜 MEMCACHED_BEHAVIOR_NOREPLY를 사용합니까?
- 7. 왜 JCL UNITVERSIONING을 사용합니까?
- 8. 왜 IEditableCollectionView를 사용합니까?
- 9. Android : 왜 XMLReader를 사용합니까?
- 10. 왜 ReadDirectoryChangesW를 비동기 적으로 사용합니까?
- 11. 왜 "!!!"를 사용합니까? 따라 코드로
- 12. 왜 그리고 어디에서 해시를 사용합니까?
- 13. 왜 플랫 파일보다 MySQL을 사용합니까?
- 14. 라파엘은 왜 [적용] 객체를 사용합니까?
- 15. 왜 CakePHP의 HTML 도우미를 사용합니까?
- 16. 왜 unordered_set 대신 set을 사용합니까?
- 17. 왜 Server.Transfer가 Response.Redirect 만 사용합니까
- 18. 왜 JMock에서 .proxy()를 사용합니까?
- 19. 왜 MySQL은 잘못된 색인을 사용합니까?
- 20. 왜 난수 생성기/추출기를 사용합니까?
- 21. 왜 핵심 데이터를 스토리지에 사용합니까?
- 22. 왜 여기에 비트 AND를 사용합니까?
- 23. 왜 Hashtable.Synchronized를 사용합니까? MSDN 설명서에서
- 24. 애플은 왜 Objective C를 사용합니까?
- 25. drupal 영구 로그인, 왜 사용합니까?
- 26. 왜 마이너스 대신 System.Threading.Interlocked.Decrement를 사용합니까?
- 27. 왜 우리는 안드로이드에서 build.xml을 사용합니까?
- 28. 왜 Microsoft AntiXSS 라이브러리를 사용합니까?
- 29. 왜 OpenGL은 라디안 대신도를 사용합니까?
- 30. 왜 canvas.save 또는 canvas.restore를 사용합니까?
PHP 스크립트에 관해 이야기하는 경우 해당 태그를 질문에 추가 하시겠습니까? –
Dupe : http://stackoverflow.com/questions/880885/close-mysql-connection-important 및 관련 : http://stackoverflow.com/questions/336078/php-mysql-when-is-the-best-time 데이터베이스 연결 해제 – karim79