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