Всем привет!
Я хочу уменьшить кол-во запросов к базе данных. Но боюсь, что установка нескольких соединений более ресурсоёмкий процесс, чем выбор (select) базы. Что вы думаете по этому поводу, какой путь лучше?
Первый путьclass db {
private $link;
function __construct() {
$this->link = mysqli_connect('1.1.1.1', 'user', 'pass');
}
function query($sql, $db) {
mysqli_select_db($this->link, $db);
return mysqli_query($this->link, $sql);
}
}
$db = new db();
for ($i = 0; $i < 100; $i++) {
$db->query('SELECT * FROM `table`', 'databaseA');
$db->query('SELECT * FROM `table`', 'databaseB');
$db->query('SELECT * FROM `table`', 'databaseC');
}
//connections - 1
//queries - 2 x 3 x 100 = 600
Второй путьclass db {
private $links;
function query($sql, $db) {
if ( ! isset($this->links[$db]))
$this->links[$db] = mysqli_connect('1.1.1.1', 'user', 'pass', $db);
return mysqli_query($this->links[$db], $sql);
}
}
$db = new db();
for ($i = 0; $i < 100; $i++) {
$db->query('SELECT * FROM `table`', 'databaseA');
$db->query('SELECT * FROM `table`', 'databaseB');
$db->query('SELECT * FROM `table`', 'databaseC');
}
//connections - 3
//queries - 1 x 3 x 100 = 300
Спасибо!