|
|
|
| Добрый день.
Подскажите, пожалуйста, можно ли объединить в один SELECT такие независимые выборки из разных таблиц? И есть ли в этом смысл? Не нашёл на форуме... UNION, вроде как не подходит..
$query1 = "SELECT * FROM table1 WHERE (id='25') ORDER BY id DESC";
$auth1 = mysql_query($query1);
$reed1= mysql_fetch_array($auth1);
$query2 = "SELECT * FROM table2 WHERE (id='2524')";
$auth2 = mysql_query($query2);
$reed2= mysql_fetch_array($auth2);
$query3 = "SELECT * FROM table3 WHERE ((text='werwer') AND (next='234')) ORDER BY id DESC";
$auth3 = mysql_query($query3);
$reed3= mysql_fetch_array($auth3);
|
Можно такие запросы переписать более оптимально? | |
|
|
|
|
|
|
|
для: Jaroslav
(18.02.2011 в 12:38)
| | Количество полей в таблицах одинаковые?
Чем вас не устраивает три запроса? | |
|
|
|
|
|
|
|
для: Лена
(18.02.2011 в 14:22)
| | Разные. Да всё устраивает.
Вдруг есть какие-то способы оптимизации, а я их не знаю.
Чтобы уменьшить кол-во селектов к базе данных. | |
|
|
|
|
|
|
|
для: Jaroslav
(18.02.2011 в 14:23)
| | Если бы у вас результаты предыдущих SELECT-запросов использовались бы в последующих - можно было бы попробовать. А так нет, не получится. | |
|
|
|
|
|
|
|
для: cheops
(19.02.2011 в 10:20)
| | Спасибо за ответ.
А если будут использоваться, то как?
Например:
$query1 = "SELECT * FROM table1 WHERE (login='neo') ORDER BY id DESC";
$auth1 = mysql_query($query1);
$reed1= mysql_fetch_array($auth1);
$query2 = "SELECT * FROM table2 WHERE (login='neo'') ORDER BY id DESC";
$auth2 = mysql_query($query2);
$reed2= mysql_fetch_array($auth2);
$query3 = "SELECT * FROM table3 WHERE (login='neo') ORDER BY id DESC";
$auth3 = mysql_query($query3);
$reed3= mysql_fetch_array($auth3);
|
Т.е. сначала определяется логин пользователя, а затем уже из разных таблиц по этому логину идёт сбор данных. Поэтому куча селектов получается. Конечно, не критично. Но если такое можно оптимизировать, то хотелось бы знать как.. - для общего развития... | |
|
|
|
|
|
|
|
для: Jaroslav
(19.02.2011 в 11:39)
| | Эти запросы как раз нужно объединять с тем запросом, который получает логин пользователя.
PS Только следует иметь в виду, что выигрышь необзятелен - иногда от объединения запросов можно и проиграть в эффектиности. | |
|
|
|
|
|
|
|
для: cheops
(19.02.2011 в 11:45)
| | Понятно, спасибо. | |
|
|
|