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




MySQL.RU - Webboard



Вернуться
Связывание двух таблиц в запросе (Юлий) 12/07/2003 - 23:16:35
      Re: Связывание двух таблиц в запросе (walrus) 13/07/2003 - 09:23:47
      Re: Связывание двух таблиц в запросе (Юлий) 14/07/2003 - 10:36:50
      Re: (Anonymous) 14/07/2003 - 13:14:22
      Re: Связывание двух таблиц в запросе (walrus) 14/07/2003 - 14:58:23

> Original message text:
> From: Юлий - 12/07/2003 - 23:16:35
> Subject:Связывание двух таблиц в запросе
> -----------------
> Исходная ситуация:
> Есть таблица "Обороты" с колоноками ТМЦ и РасходКво, их выборка занимает 10 сек
> Создал таблицу "ТМЦ", в которой есть колонки: ТМЦ (как в
> "Оборотах") и Родитель1, причем ТМЦ - уник.индекс
>
> далее запрос со связванием этих двух таблиц:
>
> вариант 1
> SELECT p.ТМЦ, SUM(s.РасходКво) FROM Обороты s, ТМЦ p WHERE s.ТМЦ = p.ТМЦ GROUP BY ТМЦ
> идет за те же 10 сек,
>
> вариант 2
> далее хочу еще выбрать Родитель1:
> SELECT p.ТМЦ, p.Родитель1, SUM(s.РасходКво) FROM Обороты s, ТМЦ p WHERE s.ТМЦ = p.ТМЦ GROUP BY ТМЦ
> этот запрос почему-то выполняется за 100 сек, т.е. в 10 раз медленее, но почему ?
>
> проверял выборку командой Explain, она показала, что сначала идет
> выборка строк таблицы "Обороты" и для каждой такой строки (по уник.ключу) находится тот же ТМЦ в таблице "ТМЦ". Таким образом время в варианте 1 вполне обосновано, а почему же в
> варианте 2 оно такое большое, ведь Родитель1 должен браться из этой же строки ?
>
> Пробовал сделать составной индекс (ТМЦ,Родитель1) не помогло, делал его уникальным, неа, делал просто индекс на Родитель1, безрезультатно.
>


From: - 14/07/2003 - 13:14:22
Subject:
-----------------



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

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

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



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