Новости
Документация
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: bac - 09/09/2008 - 10:19:27
Subject:2 boriz
-----------------
Я с вам совершенно согласен. Поэтому и предложил посмотреть из-за чего тормоза (EXPLAIN).
Нам же не известна полностью структура базы данных, какой сервер, какая интенсивность запросов (SELECT, INSERT, UPDATE).

Увлекаться созданием индексов на каждый запрос это не верный подход. Каждый Индекс - это дополнительное время при добавлении и обновлении.

И потом вы же подтвердили, что у вас весь индекс уместился в памяти.


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

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

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



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