|
MySQL.RU - Webboard
Вернуться
index_merge в EXPLAIN (mich) 02/01/2008 - 12:22:13
Re: index_merge в EXPLAIN (vi.k) 02/01/2008 - 17:20:52
Re: index_merge в EXPLAIN (mich) 03/01/2008 - 00:17:10
Re: index_merge в EXPLAIN (vi.k) 03/01/2008 - 06:18:51
Re: index_merge в EXPLAIN (mich) 03/01/2008 - 13:24:22
Re: index_merge в EXPLAIN (vi.k) 03/01/2008 - 15:41:54
Re: index_merge в EXPLAIN (mich) 03/01/2008 - 16:04:32
Re: заставляет сначала думать ... (mich) 03/01/2008 - 16:12:34
Re: заставляет сначала думать ... (vi.k) 04/01/2008 - 03:48:05
> Original message text:
> From: mich - 02/01/2008 - 12:22:13
> Subject:index_merge в EXPLAIN
> -----------------
> Здравствуйте,
> следующий запрос часто попадает в slow query file.
>
> SELECT list_id INTO id
> FROM TEST_lists_view_log
> WHERE list_id = listId
> AND user_id <=> userId
> AND ip = userIP
> AND view_at > DATE_SUB(NOW(), INTERVAL 86400 SECOND);
>
> list_id и user_id имеют индексы, так как являются внешними ключами.
>
> Выполнение EXPLAIN дает, что
> type: index_merge,
> key: list_id,user_id,
> Extra: Using intersect(list_id,user_id); Using where
>
> Можно ли ускорить выполнение запроса, убрав как-то использование двух индексов?
>
From: vi.k - 03/01/2008 - 06:18:51
Subject:index_merge в EXPLAIN
-----------------
> Как сделать один общий индекс, честно сказать, не понял - ведь сравнение идет по отдельным полям.
ALTER TABLE ... ADD INDEX idx_name(`list_id`, `user_id`);
ALTER TABLE ... ADD PRIMARY KEY(`list_id`, `user_id`, `ip`, `view_at`);
Поля могут принадлежать одному ключу. В документации по оптимизации index_merge используется такой вариант.
В вашем случае такой общий индекс смотрится просто замечательно. EXPLAIN выдаёт то, что хочется :) Хотя я не уверен, что это реально помогает :)
Теоретически общий индекс сам подключится при использовании в SELECT'е. Если всё же нет, то добавить в SELECT: FORCE INDEX (idx_name).
Я смастерил табличку со случайными данными в кол-ве тысяч двух/трёх записей. Проверить скорость не удаётся, т.к. результат где-то в районе 0.0015 сек, что никак нельзя принимать во внимание.
Прошу все результаты выложить впоследствии описать, чтоб и нам знать.
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
32712
|
|