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




MySQL.RU - Webboard



Вернуться
Выборка из двух связанных таблиц (Андрей) 08/09/2008 - 10:27:32
      Re: Выборка из двух связанных таблиц (boriz) 08/09/2008 - 11:21:50
      Re: Выборка из двух связанных таблиц (Андрей) 08/09/2008 - 11:33:51
      Re: Выборка из двух связанных таблиц (bac) 08/09/2008 - 12:31:57
      Re: Выборка из двух связанных таблиц (boriz) 09/09/2008 - 06:54:43
      Re: Выборка из двух связанных таблиц (Андрей) 09/09/2008 - 09:46:57
      Re: Выборка из двух связанных таблиц (bac) 09/09/2008 - 10:12:51
      Re: 2 boriz (bac) 09/09/2008 - 10:19:27
      Re: 2 boriz (boriz) 09/09/2008 - 13:28:35
      Re: 2 boriz (boriz) 09/09/2008 - 13:40:04
      Re: Выборка из двух связанных таблиц (mpil) 11/09/2008 - 17:26:28
      Re: Выборка из двух связанных таблиц (mpil) 11/09/2008 - 17:28:05

> Original message text:
> From: Андрей - 08/09/2008 - 10:27:32
> Subject:Выборка из двух связанных таблиц
> -----------------
> Подскажите, как сделать.
>
> Необходимо вычислить максимальное значение параметра Volume для каждого DeviceId в таблице.
>
> Например:
> Id ........ DeviceId ........ Volume .......
> 1 ............. 1 .............. 4 .........
> 2 ............. 2 .............. 92 ........
> 3 ............. 3 .............. 2 .........
> 4 ............. 1 .............. 70 ........
> 5 ............. 2 .............. 8 .........
> 6 ............. 1 .............. 3 .........
>
> В результате нужно вывести строки:
> DeviceId = 1 Volume = 70 Id = 4
> DeviceId = 2 Volume = 92 Id = 2
> DeviceId = 3 Volume = 2 Id = 3
>
>
> Но таблица содержит более 200 000 значений!! Поэтому думаю создать 2 таблицы:
> 1 - таблица со всеми данными, в т.ч. 'DeviceId'
> 2 - таблица с одним полем 'DeviceId'
>
> Т.е. при добавлении данных в 1 таблицу, проверять, есть ли DeviceId во второй. Если нет - добавлять его туда.
> А уже потом при запросе максимального значения каждого DeviceId просто выбирать из таблицы 2 список DeviceId (их там будет 5-10), и потом уже по этим 5-10 значениям производить поиск по 1 таблице!!
>
> Это должно значительно ускорить работу БД!
>
> Подскажите, пожалуйста, знающие люди, как можно реализовать такой подход?
>


From: boriz - 08/09/2008 - 11:21:50
Subject:Выборка из двух связанных таблиц
-----------------
А если, например, создать индекс на двух полях (DeviceId, Volume)? Тогда, по идее, запрос вида "SELECT DeviceId, MAX(Volume) FROM Table GROUP BY DeviceId" должен выполняться очень быстро. Отсюда можно и плясать :)


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

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

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



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