|
|
|
| Здравствуйте.
Хотел бы узнать у знающих людей.
Суть такая, если человек входит в раздел фирмы, то сверху отображается описание этого раздела, который берется из таблицы ".$db_perfix."coment, а все остальное берется из ".$db_perfix."firm.
Насколько правильно я сделал запрос и как можно снизить нагрузку? выслушаю все советы, спасибо
<?
$result = dbquery("SELECT ".$db_perfix."firm.*,".$db_perfix."coment.*
FROM ".$db_perfix."firm,".$db_perfix."coment
WHERE ".$db_perfix."coment.razdC = 'firm'
ORDER by ".$db_perfix."firm.nameF ASC");
?>
|
| |
|
|
|
|
|
|
|
для: gOFREe
(09.07.2009 в 14:38)
| | А можно спросить то же самое, но без этого ".$db_perfix." символьного мусора?
Или Вы полагаете, что он облегчает восприятие сути вопроса?
можно даже без dbquery, уж коль скоро это частная функция.... | |
|
|
|
|
|
|
|
для: Trianon
(09.07.2009 в 14:45)
| | Можно ;)
Суть такая, если человек входит в раздел фирмы, то сверху отображается описание этого раздела, который берется из таблицы coment, а все остальное берется из firm.
Насколько правильно я сделал запрос и как можно снизить нагрузку? выслушаю все советы, спасибо
<?
$result = "SELECT firm.*,coment.*
FROM firm,coment
WHERE coment.razdC = 'firm'
ORDER by firm.nameF ASC";
?>
|
| |
|
|
|
|
|
|
|
для: gOFREe
(09.07.2009 в 14:52)
| | Во-1х, этот текст что угодно (request, sql, query ), но еще не result.
во 2x , таблицы firm и coment никак не связаны, и согласно операции 'запятая', сервер просто построит декартово произведение этих таблиц. Что Вам , наверняка, не нужно.
Вместо запятой лучше использовать форму LEFT JOIN ... ON ... указывая условие соответствия строк одной таблицы строкам другой.
FROM firm LEFT JOIN coment ON firm.id = comment.firm_id
или как-то так.
Если строки одной таблицы со строками другой связи не имеют, извлекать данные из них именно в одном запросе - абсолютно ничем не оправдано. | |
|
|
|