Форум вопросов и ответов

Форум вопросов и ответов (https://www.otvetnemail.ru/)
-   Продолжение старого архива (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/)
-   -   Оптимизация запроса. LEFT JOIN или UNION ? (https://www.otvetnemail.ru/prodolzhenie-starogo-arhiva-804/optimizaciya-zaprosa-left-join-ili-union-391636/)

Guest 16.10.2011 16:33

Оптимизация запроса. LEFT JOIN или UNION ?
 
В общем есть таблица объектов недвижимости. Объекты содержат еще различные данные - связанные таблицы. Структура БД:objects - объектыobject_pages - текстовые страницы (есть поле page - может принимать значения 1, 2 или 3, т.е. разные типы страниц)object_docs - содержит документы объекта (прикрепленные файлы)object_map - содержит фото на карте городаobject_photos - фотографии объектов (при `cat`=1)object_photos - фотографии динамика строительства (при `cat`=2)В таблице object_pages поле `page` и определяет страницу:`char` - Характеристики объекта (`page`=1)`cond` - Условия приобретения (`page`=2)`serv` - Дополнительные услуги (`page`=3)А поле `showing` - публикуется ли данный раздел или нет (для админки).При заходе в объект на сайте, строится меню объекта (ссылки). Соответственно если записей в некоторых таблицах нет, то некоторые пункты меню не должны показываться.Сделал пока запрос с JOIN'ами, но их так дофига... Т.к. записей в таблицах очень мало, не могу ничего сказать о скорости. Вообще, граммотней делать таким запросом, или юзать UNION ?Т.е. если `char`, `cond` или др. поле больше 0 (не равно null) - то данный раздел есть.Запрос:


Часовой пояс GMT, время: 20:57.


© www.otvetnemail.ru - Форум вопросов и ответов.