Зачем использовать mysqli_close ()?

Есть ли причина, по которой я должен закрыть соединение после запроса или в конце скрипта?

Каковы преимущества делать / не делать?

Соединение (если не постоянное) всегда закрыто в конце скрипта, поэтому теоретически вам не нужно закрывать его самостоятельно.

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

Это особенно актуально, если ваше приложение развернуто на общем хостинге: у вашей учетной записи пользователя обычно может быть только несколько подключений, открытых одновременно. (Это число одновременных открытых подключений может быть довольно небольшим на общем хостинге, оно обычно больше на частных серверах) .

Причина, по которой мы часто не закрываем связи, заключается в следующем:

  • мы вообще не знаем, когда мы выполнили все наши запросы – это особенно верно на страницах, которые сделаны из множества небольших «блоков»; каждый из них является независимым от других и может самостоятельно выполнять запросы; поэтому, когда мы можем закрыть соединение?
  • веб-страницы, как правило, довольно быстро генерируются, поэтому мы действительно не беспокоимся о закрытии соединения с БД.

Преимущество заключается в том, что если вы собираетесь выполнять длительную обработку, но завершили запрос к базе данных, тогда нет точки, открывающей соединение. То же самое можно сказать о том, чтобы открыть сеанс пользователя (который блокирует другие запросы).

Примером этого может быть создание большого отчета в формате PDF. Это может занять у вас 20-30 + секунд, чтобы создать и записать файл, но вы получите все необходимые данные за первую секунду.

Однако обычно вы можете делать это автоматически (при условии, что соединение не является постоянным).