Мне действительно нужно сделать mysql_close()
Нужно ли мне действительно делать mysql_close()? Почему или почему нет?
Есть ли триггер, который закрывает ссылку после mysql_connect, даже если я не делаю mysql_close?
Ответы
Ответ 1
В большинстве случаев вызов mysql_close
не будет иметь никакого значения, по производительности. Но всегда хорошая практика - закрыть ресурсы (файловые дескрипторы, открытые сокеты, подключения к базам данных и т.д.), Которые ваша программа больше не использует.
Это особенно верно, если вы делаете что-то, что может занять несколько секунд - например, чтение и анализ данных из REST API. Поскольку вызов API идет по линии, отрицательные сетевые условия могут привести к блокировке вашего script в течение нескольких секунд. В этом случае подходящее время для открытия соединения с базой данных после завершения вызова REST и анализа.
Подводя итог моему ответу, два больших правила:
- Если ваша программа готова к их использованию, выделите ресурсы (файлы, сокеты, соединения с базой данных и т.д.).
- Освободите ресурсы сразу после того, как ваша программа будет выполнена с ними.
Ответ 2
Согласно документации:
Использование mysql_close() обычно не требуется, поскольку непостоянные открытые ссылки автоматически закрываются в конце выполнения script.
Лично мне всегда хочется, чтобы я педантично закрывал все, что открывал, но это не требовалось.
Ответ 3
Какая польза от закрытия ссылки?
Преимущество состоит в том, что вы можете освободить соединение с базой данных и соответствующими ресурсами на сервере базы данных, раньше, чем очистка запроса PHP, сделало бы это.
Скажем, например, вы запрашиваете все данные, которые потребуются вашему запросу в течение первых 20 миллисекунд запроса. Но тогда ваш PHP-код тратит еще 80 миллисекунд на запуск кода и форматирование результатов. Что означает 80% времени, приложение держит открытое соединение db без необходимости, и в среднем 8 из 10 потоков соединений на сервере db простаивают и используют ресурсы.
Ответ 4
Руководство говорит:
Использование mysql_close() обычно не требуется, поскольку непостоянные открытые ссылки автоматически закрываются в конце выполнения script.
Итак, нет, не совсем. Полезно освобождать ресурсы, прежде чем пытаться выполнить операцию, которая потенциально потребляет большие объемы ресурсов, но, вероятно, это не будет иметь большого значения.
Ответ 5
что польза от закрытия ссылки?
Как правило, нет никакой выгоды в закрытии ссылки самостоятельно, так как она будет автоматически закрыта.
Я могу только подумать о нескольких преимуществах
-
Если ваш script выполняет много обработки после завершения работы с базой данных, преждевременное закрытие ссылки на базу данных может помочь освободить немного памяти и других ресурсов (таких как соединения MySQL), в то время как ваш script продолжается с другими вещами. Это очень маловероятно, чтобы быть проблемой в большинстве сценариев, так как большинство скриптов заканчивается довольно быстро после того, как оно закончилось с подключением к базе данных в любом случае, а время, в течение которого соединение будет открыто до закрытия PHP скрипт, будет сравнительно коротким.
-
Полнота и чистота кода. Это может дать вам хорошее чувство и, как правило, хорошая гигиена кода, чтобы закрыть то, что вы открыли, хотя в этом случае это не требуется технически.