문제

문서에 따르면, 준비된 쿼리는 쿼리를 구문 분석하는 MySQL 서버의 오버 헤드가 한 번만 발생하기 때문에 여러 번 쿼리를 실행하는 경우 상당한 성능 이점을 제공합니다. 나는 그들이 "여러 번"이라는 것이 정확히 무엇을 의미하는지 궁금합니다.

즉, 쿼리를 한 번 실행하는 웹 페이지가 있다고 가정 해 봅시다. 이제 페이지가 초당 50 회 호출된다고 말합니다. Query () 쿼리 (DB 서버에 두 개의 왕복이 필요합니다. 하나는 쿼리를 준비하고, 하나는 실행할 것인) 쿼리를 정상적으로 보내는 것이 성능 관점에서 더 합리적입니까 (하나의 왕복이 필요). ? MySQL 및/또는 PHP MySQLI 드라이버가 쿼리가 이전 호출에서 repay () D를 깨닫기에 충분히 똑똑합니까?

도움이 되었습니까?

해결책

아니요. PHP는 "공유 된 것이 없다"아키텍처이므로 해당 요청의 끝에 하나의 요청 (한 페이지보기)과 관련된 모든 리소스가 폐기됩니다. 후속 데이터베이스 연결에는 준비된 쿼리를 사용할 수 없습니다.

준비된 쿼리로부터 혜택을받을 수있는 시나리오는 그것을 준비하고 여러 번 실행할 때입니다. 동일한 PHP 요청.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top