Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Базы Данных > Тонкости mysql_free_result ()


Автор: Acuna 16.9.2013, 10:32
Денек добрый!

Известный факт, что после выполнения запроса в БД нужно очищать память с помощью mysql_free_result (). Но на php.su в ее описании имеются такие слова:

Цитата
mysql_free_result() нуждается в вызове только в том случае, если вы всерьёз обеспокоены тем, сколько памяти используют ваши запросы к БД, возвращающие большое количество данных. Вся память, используемая для хранения этих данных автоматически очистится в конце работы скрипта.

Вот у меня возник вопрос. У меня самописная CMS. Cкрипт в данном случае - это отдельно каждый файл этой CMS или вообще вся CMS? Ибо в понятие скрипта вкладывается совершенно разный смысл.

Не знаю, после каждого запроса вызывать ее, или достаточно просто в конце работы всей CMS...

Заранее благодарен!

Автор: Fortop 16.9.2013, 14:16
Цитата(Acuna @  16.9.2013,  10:32 Найти цитируемый пост)
Cкрипт в данном случае - это отдельно каждый файл этой CMS или вообще вся CMS? 

Под скриптом в данном конкретном случае следует понимать совокупность загружаемого кода для выполнения конкретной задачи.

Т.е. для просмотра пользователей у вас может подключаться 5ть файлов вашей цмс, а для админки целых 10ть файлов.

В любом случае, после того как вы отдали страницу пользователю весь код завершает работу и память чистится.

Автор: baldina 16.9.2013, 17:20
Цитата(Acuna @  16.9.2013,  10:32 Найти цитируемый пост)
вы всерьёз обеспокоены тем, сколько памяти используют ваши запросы к БД

?

Автор: Acuna 16.9.2013, 23:33
Fortop,
Ясно, то есть после отдачи страницы. Спасибо! Хотя смотря сколько запросов будет выполнено для формирования этой страницы.

baldina,
smile Так-то конечно, оптимизация скриптов - важное дело. Хотя запросы и не тяжелые, но их достаточно много. Как и во всех CMS в общем-то...
Один - для получения инфы о пользователе, несколько - формирование новостей, несколько - комментариев  и т. д.

Автор: ksnk 17.9.2013, 09:05
Цитата(Acuna @  16.9.2013,  10:32 Найти цитируемый пост)
Не знаю, после каждого запроса вызывать ее, или достаточно просто в конце работы всей CMS...

Вообще-то про это в документации написано. mysql_free_result работает с результатом запроса. 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)