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