Постоянное соединение с базой данных для Ajax Calls - PullRequest
4 голосов
/ 11 сентября 2010

У меня есть вызов ajax, который извлекается из сценария обработки 'getajax.php'.

Вызывается сценарий 'getajax.php', в котором есть сведения о соединении с БД, select, функции и т. Д.*

Мой вопрос:

Каждый раз, когда getajax.php получает вызов, он проходит через mysql_connect, mysql_select, затем запрашивает.

Это правильный подход для обработки тысячодновременных вызовов?

Как можно избежать подключения mysql при каждом вызове, повторно используя одно существующее подключение для всех вызовов.

Попытка одного вызова для:

$dbconnect = mysql_connect('host','user','pass');
mysql_select_db('databasename') or die( "Unable to select database");

Как открыть постоянное соединение с родителем, чтобы скрипт getajax.php просто повторно использовал это соединение, не выполняя эти команды mysql снова и снова.

Не знаете, как получить доступ.

Спасибо всем!

Ответы [ 2 ]

2 голосов
/ 11 сентября 2010

Вы можете использовать mysql_pconnect (http://www.php.net/manual/en/function.mysql-pconnect.php), который создает постоянное соединение с базой данных.

1 голос
/ 11 сентября 2010

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

См. здесь для получения более подробной информации о mysql_pconnect и здесь для соответствующего вопроса SO.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...