Новости
Документация
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



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, безрезультатно.


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

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

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



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