Новости
Документация
Download
Webboard
Поиск
FAQ/ЧаВо
Обратная связь




MySQL.RU - Webboard



Вернуться
Оптимизация и вложенные запросы (AS) 08/06/2005 - 14:30:22
      Re: Оптимизация и кг, отжиг (Валентин) 08/06/2005 - 15:15:59



From: AS - 08/06/2005 - 14:30:22
Subject:Оптимизация и вложенные запросы
-----------------
Добрый день! Есть следующий запрос из PHP:
SELECT *
FROM books
WHERE
(books.cat1 IN (SELECT id_c FROM cattree WHERE(cat_left BETWEEN $cl AND $cr))) OR
(books.cat2 IN (SELECT id_c FROM cattree WHERE(cat_left BETWEEN $cl AND $cr))) OR
(books.cat3 IN (SELECT id_c FROM cattree WHERE(cat_left BETWEEN $cl AND $cr)))

В WHERE имеются три абсолютно одинаковых вложенных запроса, с результатами которого сравниваются три поля категорий (книги в данном проекте могут относиться не к одному, а к нескольким разделам)
Вопрос: можно ли обойти это убожество и написать более красивый запрос. Насколько я понял временная таблица горю не поможет, запрос таким почти и останется, но, может быть, временная таблица прибавит производительности? Или ничего и не стоит мудрить и MySQL все сам съоптимизирует и не будет делать три запроса вместо одного. Но в любом случае, хотелось бы запрос покрасивее...


[Это сообщение - спам!]

Последние сообщения из форума

Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
22406



РЕКЛАМА НА САЙТЕ
  Создание сайтов | |