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




MySQL.RU - Webboard



Вернуться
Оптимизация запроса (Dee) 14/07/2009 - 17:30:39
      Re: Оптимизация запроса (Peacecoder) 14/07/2009 - 18:49:46
      Re: Оптимизация запроса (Dee) 15/07/2009 - 08:57:28

> Original message text:
> From: Dee - 14/07/2009 - 17:30:39
> Subject:Оптимизация запроса
> -----------------
> Здравствуйте.
>
> Задача такая, нужно сделать выборку всех статей из базы доступ к которым пользователь имеет.
> Статьи так же разбиты на группы.
>
> Я делала так: в начале отбирал все статьи доступные пользователю, потом в втором запросе подставлял условия выборки по группам стати и проверка вхождения в массив доступных статей( пример: select a.id from articles as a where a.group>0 and a.id IN (0, 1, 2 ,3) )
>
> хотел бы узнать как будет лучше, правильнее и быстрее
> x - уровень доступа
> y - треб группа
>
> Способ №1
> SELECT a.id FROM article as a WHERE a.access = X
> SELECT a.id FROM article as a WHERE a.group = Y AND a.id IN (Спсиок ID из первого запроса)
>
> Способ №2
> SELECT a.id
> FROM article as a, (SELECT a.id FROM article as a WHERE a.access = X) as b
> WHERE a.group = Y AND a.id=b.id
>
>
>
>
>


From: Peacecoder - 14/07/2009 - 18:49:46
Subject:Оптимизация запроса
-----------------
Способ 3
SELECT a.id FROM article as a WHERE a.access = X AND a.group = Y

Выберет все статьи с доступом X и группой Y

зачем тут еще подзапросы? или я не понял вопроса?


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

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

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



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