Я использую ленивое соединение для подключения к моей БД в моем объекте БД. Это в основном означает, что он не вызывает mysql_connect() до тех пор, пока ему не будет передан первый запрос, после чего он впоследствии перейдет к повторному подключению.PHP mySQL - Когда самое лучшее время для отключения от базы данных?
Теперь у меня есть метод в моем классе DB называется disconnectFromDB()
, какие довольно много звонков mysql_close()
и устанавливает $_connected = FALSE
(поэтому метод query()
будет знать, для подключения к БД снова). Если это будет вызываться после каждого запроса (как частной функции) или внешне через объект ... потому что я что-то думать, как (код только пример)
$students = $db->query('SELECT id FROM students');
$teachers = $db->query('SELECT id FROM teachers');
Теперь, если он закрывался после каждого запроса, бы это замедлить его много, в отличие от меня, просто добавьте эту строку в конец
$db->disconnectFromDB();
Или я должен просто включить эту строку выше в самом конце страницы?
Какие существуют преимущества/недостатки? Что лучше всего работает в вашей ситуации? Есть ли что-то действительно неправильное, забыв закрыть соединение mySQL, помимо небольшой потери производительности?
Цените время, чтобы ответить.
Спасибо!
Надеюсь, ваше приложение будет лучше разделено, чем предлагают ваши примеры. Это упростило бы отслеживать ваше ленивое соединение, если оно было инкапсулировано. – dkretz 2008-12-03 03:26:52