2012-03-05 3 views
1

unset() mysql 결과가 mysql_free_result()과 같은 메모리를 해제합니까?mysql 결과를 설정 해제

+2

직접해볼 수 있습니다. http://php.net/manual/en/function.memory-get-usage.php – SeanJA

답변

4

번호 unset()는 PHP 측의 결과에 대한 포인터를 지우지 만 포인터가 가리키는 결과에는 아무런 영향을 미치지 않습니다. mysql_query()의 결과는 숫자 식별자 일 뿐이므로 mysql_fetch_array() 및 그 동료와 같은 함수를 참조하는 결과를 MySQL이 알 수 있습니다. MySQL에 결과가 완료되었다고 알려주려면 mysql_free_result()을 사용해야합니다. 나중에 PHP 변수를 해제 할 수도 있지만, 단지 resource이므로 설정을 해제하는 데 걸리는 시간은 설정을 해제하지 않고 저장하는 몇 바이트의 가치가 없을 수 있습니다.

+0

감사합니다. 나는 결과가 무엇인지 잘 알고있다. 문제는 PHP가 관련 메모리를 떨어 뜨릴만큼 똑똑하다는 것입니다 (PHP는 종종 그러한 가정을합니다). 나는 SeanJA의 충고를 받아 들였지만 실제로는 그렇지 않습니다. – dtbarne

+0

당신이하지 않았다는 것을 암시하는 것은 아니며, 미래의 문제에 대해 누구에게나 분명히 드러나는 사람을 밝히는 것입니다. 결국, 그것은 Q & A 사이트입니다 :) – Tim