ivlad
Новичок
Когда конкретно вызывается mysql_free_result()?
Вопрос, скорее, из области управления ресурсами в php, нежели на тему php + mysql, но пишу сюда, ибо не знаю, куда ещё можно было написать
В документации написано:
В php сборка мусора основана на счётчиках ссылок. Это значит, что если хэндл результата записан в локальную переменную, то при выходе из контекста функции счётчик ссылок на этот ресурс обнулится. Т.е. фактически это значит, что данный хэндл больше нигде не будет использован. А значит было бы правильно в этот момент вызывать mysql_free_result для этого хэндла.
Внимание, вопрос. Когда именно вызывается mysql_free_result? Действительно ли при окончании работы скрипта, или при обнулении счётчика ссылок на ресурс-хэндл?
Вопрос, скорее, из области управления ресурсами в php, нежели на тему php + mysql, но пишу сюда, ибо не знаю, куда ещё можно было написать

В документации написано:
Фактически, гарантируется, что по завершении работы скрипта для всех хэндлов результатов (которые вернул mysql_query()) автоматом будет вызван mysql_free_result().mysql_free_result() only needs to be called if you are concerned about how much memory is being used for queries that return large result sets. All associated result memory is automatically freed at the end of the script's execution.
В php сборка мусора основана на счётчиках ссылок. Это значит, что если хэндл результата записан в локальную переменную, то при выходе из контекста функции счётчик ссылок на этот ресурс обнулится. Т.е. фактически это значит, что данный хэндл больше нигде не будет использован. А значит было бы правильно в этот момент вызывать mysql_free_result для этого хэндла.
Внимание, вопрос. Когда именно вызывается mysql_free_result? Действительно ли при окончании работы скрипта, или при обнулении счётчика ссылок на ресурс-хэндл?