2010-06-24 2 views
4

При перекопании какого-то старого кода, собранного бывшим сотрудником, таланты которого я искал, я заметил, что после каждого запроса они закрыли соединение с сервером MySQL.Закрытие соединения MySQL после каждого запроса

Это кажется немного странным, так как я всегда закрывал его в конце страницы и видел, как большинство людей делают то же самое.

Итак, вопрос в том, является ли это лучшей идеей в PHP/MySQL? Это даже имеет значение так или иначе? На этом сайте работает только около 100 пользователей в любой момент в течение дня. Поэтому я не вижу никакого реального влияния, которое это могло бы иметь так или иначе, но, возможно, это имело бы смысл для более крупного сайта?

+1

Аналогичный вопрос задан некоторое время назад, и вы можете найти ответы полезными: http://stackoverflow.com/questions/3096952/what-are-the-implications-of-opening-mysql-connections-over- и по сравнению с прошлым снова-в-PHP – Mike

ответ

4

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

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

3

Закрытие и открытие соединений после каждого запроса происходит медленнее, чем просто одно соединение. Возможно, закрытие соединения до того, как длинный процесс станет хорошей идеей, поэтому у вас мало шансов достичь предела соединений, но с простыми страницами ваш метод, я думаю, действительно лучше.

Однако, я не знаю, сколько пользователей вы начнете замечать разницу.

Смежные вопросы