У меня есть script, который подключается к нескольким базам данных (Oracle, MySQL и MSSQL), каждое подключение к базе данных не может использоваться каждый раз при запуске script, но все могут быть использованы в одном выполнении script. Мой вопрос: "Лучше ли подключаться ко всем базам данных один раз в начале script, хотя все соединения могут не использоваться. Или лучше подключиться к ним по мере необходимости, единственный улов - это то, что я должен был иметь вызов соединения в цикле (поэтому соединение с базой данных было бы новым для X количества раз в цикле).
Да Пример кода №1:
// Connections at the beginning of the script
$dbh_oracle = connect2db();
$dbh_mysql = connect2db();
$dbh_mssql = connect2db();
for ($i=1; $i<=5; $i++) {
// NOTE: might not use all the connections
$rs = queryDb($query,$dbh_*); // $dbh can be any of the 3 connections
}
Да Пример кода № 2:
// Connections in the loop
for ($i=1; $i<=5; $i++) {
// NOTE: Would use all the connections but connecting multiple times
$dbh_oracle = connect2db();
$dbh_mysql = connect2db();
$dbh_mssql = connect2db();
$rs_oracle = queryDb($query,$dbh_oracle);
$rs_mysql = queryDb($query,$dbh_mysql);
$rs_mssql = queryDb($query,$dbh_mssql);
}
Теперь я знаю, что вы можете использовать постоянное соединение, но будет ли это одно соединение открытым для каждой базы данных в цикле? Как mysql_pconnect(), mssql_pconnect() и adodb для метода постоянных соединений Oracle. Я знаю, что постоянное соединение также может быть ресурсоемкой, и поскольку я ищу лучшую производительность/практику.
Вот хороший пост на почему постоянные подключения могут вызвать проблемы