parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

anthrop 21.04.2006 21:47

я вижу всего 3 join, это совсем не много, т.к. они достаточно простые и при наличии правильных индексов должны работать быстро.


На самом деле там всё сложнее чем я написал.
если в условиях отбора записей не может быть такого: "я хочу список ищеющегося в наличии что расположено рядом со станциями метро X, Y, Z и имеет цену от XX до YY" то можно один запрос с 3 join поменять на 3 запроса без join.
Там будут именно такие густые запросы, так что без join'а похоже не обойтись.
там где вы читали про форум это объясняется примером кода. не дочитали? :)
Не дочитал, каюсь...
не понял что вы подразумеваете под готовой таблицей.
обычно правильнее всего доставать из SQL как можно меньше данных. но на вопрос о том "что быстрее" может ответить только тестирование.
Под "готовой таблицей" я подразумеваю результат SQL-запроса.
Уточню:
Можно выбирать (накладывать ограничения) из трёх таблиц (помещения около станций X, Y, Z площадью A и ценой от B до C), а поля брать все только из таблицы "помещения". Потом брать уникальные ID зданий и отдельным запросом снимать информацию о них. Потом то же с метро. Получим в итоге 3 таблицы.

Второй вариант - сразу забрать одну таблицу с избыточной информацией. В таком случае название станции метро будет присутствовать в этой таблице столько раз, сколько помещений около неё нашлось. То же и со зданиями.

Не спрашиваю "что лучше" - скажите, пожалуйста, что хуже :)