|
MySQL.RU - Webboard
Вернуться
Вложеные запросы тормозят? (ita) 26/10/2006 - 17:25:10
Re: Вложеные запросы тормозят? (Cотомайор) 27/10/2006 - 10:30:45
Re: Вложеные запросы тормозят? (WebGirl) 28/10/2006 - 22:29:04
Re: Вложеные запросы тормозят? (bac) 01/11/2006 - 20:57:52
Re: Сорри Вложеные запросы тормозят? (bac) 01/11/2006 - 21:53:43
> Original message text:
> From: ita - 26/10/2006 - 17:25:10
> Subject:Вложеные запросы тормозят?
> -----------------
> есть 2 таблицы,
>
> cards
> +---------------+------------------+------+-----+---------+----------------+
> | Field | Type | Null | Key | Default | Extra |
> +---------------+------------------+------+-----+---------+----------------+
> | id | int(11) unsigned | NO | PRI | NULL | auto_increment |
> | cid | int(11) | NO | | 0 | |
> | date_activ | int(11) | NO | | 0 | |
> | date_from | int(11) | NO | | 0 | |
> | date_to | int(11) | NO | | 0 | |
> | autor | tinyint(2) | NO | | 0 | |
> +---------------+------------------+------+-----+---------+----------------+
>
> client
> +-----------+------------------+------+-----+---------+----------------+
> | Field | Type | Null | Key | Default | Extra |
> +-----------+------------------+------+-----+---------+----------------+
> | id | int(11) unsigned | NO | PRI | NULL | auto_increment |
> | name | char(50) | NO | | | |
> +-----------+------------------+------+-----+---------+----------------+
>
> в каждой из таблиц примерно по 2000 записей, так вот
> SELECT client.id FROM client WHERE client.id in (SELECT cards.cid FROM cards WHERE date_activ!=0 GROUP BY cid);
>
> запрос должен вернуть всех клиентов у которых есть карты либо всех у кого нет карт (client.id not in)
>
> запрос выполняется за 9 секунд.
> отношение между таблицами один к многим. client к cards
>
>
>
From: bac - 01/11/2006 - 20:57:52
Subject:Вложеные запросы тормозят?
-----------------
Мне кажется так будет много быстрее
select `client`.`id`, `card`.`cid` from `client` left join `card` where `client`.`id`=`card`.`cid` and cid is not null and date_activ!=0 GROUP BY `client`.`id`
А для тех у кого нет карточки
заменить cid is not null на cid is null
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
30005
|
|