Подтвердить что ты не робот

Мне действительно нужно сделать mysql_close()

Нужно ли мне действительно делать mysql_close()? Почему или почему нет?

Есть ли триггер, который закрывает ссылку после mysql_connect, даже если я не делаю mysql_close?

4b9b3361

Ответ 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 скрипт, будет сравнительно коротким.

  • Полнота и чистота кода. Это может дать вам хорошее чувство и, как правило, хорошая гигиена кода, чтобы закрыть то, что вы открыли, хотя в этом случае это не требуется технически.