Когда я должен закрыть соединение дб?

Это - необходимость для закрытия соединения в Сценарии PHP?

5
задан 11 February 2010 в 11:30
поделиться

3 ответа

В зависимости от конфигурации вашего сервера БД, существует ограничение на возможное количество соединений, открытых к нему одновременно.

Так, если ваш скрипт :

  • делает несколько запросов
  • и, затем, делает несколько длинных вычислений, не делая больше ни одного запроса

Может быть интересно закрыть соединение после выполнения всех ваших запросов -- и открыть соединение только тогда, когда оно становится необходимым.


Тем не менее, обратите внимание, что соединения в любом случае закрываются при завершении работы скрипта; это означает, что если у вас нет вайфая, чтобы убедиться, что вы закончили выполнение запросов, вам не нужно закрывать соединение: оставляя его открытым, вы можете выполнять дополнительные запросы, когда это необходимо.

(Это особенно верно, если ваши страницы построены с использованием нескольких отдельных и независимых компонентов, которые все могут выполнять запросы к БД)


Для приложений, которые я пишу, я обычно:

  • Открываю соединение при первом запросе (Что означает, что соединение не открывается, если не отправлен запрос)
  • Никогда не закрываю соединение: поскольку мои страницы построены с использованием множества компонентов, у меня нет возможности знать наверняка, что соединение больше не понадобится.
5
ответ дан 14 December 2019 в 04:37
поделиться

Когда php скрипт завершает работу, все объекты, переменные теряются, даже db connection.else с новым объектом db connection. Но как правило, лучше открыть соединение и закрыть его, когда оно не нужно.

0
ответ дан 14 December 2019 в 04:37
поделиться

Да, это так. Общее правило таково: открывайте соединения как можно позже, а закрывайте их как можно раньше. В большинстве современных систем/окружений соединения объединяются в пулы, поэтому нет никакой проблемы (снижения производительности) в постоянном открытии и закрытии соединений.

3
ответ дан 14 December 2019 в 04:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: