Насколько важно закрыть эффективность соединений mysql, или автоматически закрывается после запуска файла php?
Является ли закрытие соединения mysql важным?
Ответ 1
В документации :
Примечание. Ссылка на сервер будет закрыта, как только выполнение script завершается, если только он не закрыт раньше, явно вызвав mysql_close().
Если ваш script имеет достаточную сумму обработки для выполнения после получения результата и получил полный набор результатов, вы обязательно должны закрыть соединение. Если вы этого не сделаете, есть вероятность, что сервер MySQL достигнет этого предела соединения, когда веб-сервер находится под большим использованием. Если вы не можете закрыть соединение MySQL до конца script, он будет более чистым, чем это явно не нужно.
Я не уверен, как fastcgi влияет на вещи. Одна страница утверждает, что сборка PHP, поддерживающая fastcgi, создаст постоянные соединения, даже для mysql_connect. Это противоречит документации в том, что соединение закрывается, когда заканчивается процесс, а не script. Вместо того, чтобы тестировать его, я буду рекомендовать использовать mysql_close(). На самом деле, я рекомендую использовать PDO, если он доступен.
Ответ 2
Это важно? Не так много
Считается ли это хорошей практикой? Да.
Я не понимаю, почему вы не хотели бы его закрывать.
Ответ 3
При использовании чего-то вроде cgi, совершенно не нужно закрывать ваши соединения mysql, так как они автоматически закрываются в конце выполнения script. При использовании постоянных технологий, таких как mod_perl и других, которые поддерживают ваши соединения между запросами, важно следить за соединениями, глобальными переменными и т.д.
В принципе, для постоянных данных очищайте себя. Для тривиальных, непостоянных данных все это исчезнет, когда запрос закончится в любом случае. В любом случае, наилучшая практика - всегда закрывать ваши соединения.
Ответ 4
Получает закрытие, как только script завершает выполнение. Если вы не открыли постоянное соединение. В идеале вы должны освободить ресурс (соединение здесь), как только вы закончите с ним. Если у вас не будет хорошей возможности, вам понадобится очень скоро в казни.
Пул соединений или использование постоянных подключений (если это то, что вы имели в виду) - хорошая идея, если вы находитесь за единственным сервером базы данных. Однако, если есть больше серверов, и вы балансируете нагрузку, это может повредить распределению работы. Обычно некоторые клиенты выполняют тяжелые запросы, а другие - более легкие. Поэтому, если одно и то же соединение используется поверх n, некоторые серверы будут нажимать на большую нагрузку, а другие будут использоваться. Рассмотрите возможность использования меньшего размера ttls и размера пула соединений.