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




MySQL.RU - Webboard



Вернуться
Быстрый выбор двух строк с разницей в полях (serg76) 20/12/2012 - 02:24:28
      Re: Быстрый выбор двух строк с разницей в полях (Akina) 20/12/2012 - 11:04:52

> Original message text:
> From: serg76 - 20/12/2012 - 02:24:28
> Subject:Быстрый выбор двух строк с разницей в полях
> -----------------
> Добрый день.
> Возникла необходимость делать выборку из бд, где условием является разница между значениями поля формата datetime.
> Конкретнее, нужно выбирать пары строк, между которыми в поле date разница более 3 часов. База огромная (~20 Гб), поэтому хочется обойтись какими-то встроенными алгоритмами, если таковые есть. MySQL 5, PHP 5.
> Спасибо.
>


From: Akina - 20/12/2012 - 11:04:52
Subject:Быстрый выбор двух строк с разницей в полях
-----------------
Поскольку отбор ведётся по выражению, вычисляемому на основе значений полей двух копий таблицы, единственный реальный способ ускорения обработки - провести предрасчёт. В данном конкретном случае - добавить расчётное поле, в которое триггером заносить значение date - interval 3 hours. При наличии необходимого индекса (вернее, двух индексов, т.к. в каждой из копий будет использоваться свой индекс) отбор будет идти достаточно быстро.

PS. 20 гектар - это большая, но не огромная...


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

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

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



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