|
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: Dinky - 11/09/2003 - 02:20:38
Subject:Правильный индекс
-----------------
ну.. самый простой пример - в таблице два индекса, в запросе два условия на эти индексные поля - MySQL может использовать только один из них. Для этого в ем есть оптимизатор, он смотрит, по какому из ндексов больше всего отсеется данных, тот и берет - видно в EXPLAIN (колонка key)
А теперь сложнее - в запросе появляется вторая таблица, связанная с первой по одному из индексных полей, какой из них использовать для первой таблицы, тот, по которому JOIN или тот, который во WHERE? что решит оптимизатор - смотри в EXPLAIN ;)
А можно еще так - для тестов понасоздавать всех возможных индексов и проверить все по-очереди, используя USE INDEX в SELECT-e :)
--
Dmitry
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
10606
|
|