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




MySQL.RU - Webboard



Вернуться
Правильный индекс (Данил) 06/09/2003 - 00:42:15
      Re: Правильный индекс (walrus) 06/09/2003 - 12:38:52
      Re: Правильный индекс (Данил) 07/09/2003 - 14:29:45
      Re: Правильный индекс (walrus) 07/09/2003 - 18:37:23
      Re: Правильный индекс (Данил) 07/09/2003 - 22:14:16
      Re: Правильный индекс (Dinky) 08/09/2003 - 19:11:10
      Re: Правильный индекс (Данил) 10/09/2003 - 22:21:15
      Re: Правильный индекс (Dinky) 11/09/2003 - 02:20:38

> Original message text:
> From: Данил - 06/09/2003 - 00:42:15
> Subject:Правильный индекс
> -----------------
> Подскажети пожалуйста, какие создать индексы для таблиц ulog и shots для ускорения выполнения такого запроса:
>
> select shots.router_id,
> from_unixtime(ulog.logtime-mod(logtime,300)),
> ulog.dst_ip, ulog.src_ip , sum(ulog.bytes)
> from ulog, shots
> where
> ulog.shot_id=shots.shot_id and shots.router_id=1
> and shots.closetime is null and (ulog.dst_ip>1000)
> group by shots.router_id,
> from_unixtime(ulog.logtime-mod(logtime,300)),
> ulog.dst_ip, ulog.src_ip
>
> Заранее спасибо.
>


From: walrus - 07/09/2003 - 18:37:23
Subject:Правильный индекс
-----------------
Другими словами на текущий момент у тебя делается проход по всем записям из ulog (8 тыщ с хвостиком записей), они отсеиваются по условию из where, потом для каждой найденой ulog -
по первичному ключу (по смыслу получается- первичный ключ сделан по shot_id) берется shots, и проверяется на условие из where.

То есть самый разумный путь - улучшать ulog. Прежде всего - надо сделать чтобы проход был не по всем записям. Вот у нас есть в where такой (ulog.dst_ip>1000). Давай для начала сделаем индекс по dst_ip, чтобы отсеить хотя бы те что меньше 1000.

Сделай пожалуйста и посмотри,как там со скорстрельностью и какой получается explain



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

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

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



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