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




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, версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
 Имя:
 E-mail:
 Тема:
 Текст:
Код подтверждения отправки: Code
32712



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