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




MySQL.RU - Webboard



Вернуться
Не работают ИНДЕКСЫ при GROUPBY по двух полям (Трава) 09/02/2006 - 23:46:52
      Re: Не работают ИНДЕКСЫ при GROUPBY по двух полям (Трава) 09/02/2006 - 23:49:20
      Re: Не работают ИНДЕКСЫ при GROUPBY по двух полям (Dinky) 10/02/2006 - 01:20:58
      Re: Проверил: на PostgreSQL и FireBird все ТАКЖЕ (Трава) 10/02/2006 - 01:49:20
      Re: Проверим DB2 и Oracle. DB2 теперь бесплатна! (Трава) 10/02/2006 - 01:53:27
      Re: на каждый чих MySQL пересоздает таблицу 100Гб (Трава) 10/02/2006 - 01:59:25
      Re: на каждый чих MySQL пересоздает таблицу 100Гб (walrus) 10/02/2006 - 07:50:02
      Re: постоянное добавление полей это часть СХЕМЫ (Трава) 10/02/2006 - 12:30:36
      Re: постоянное добавление полей это часть СХЕМЫ (Dinky) 10/02/2006 - 19:49:09
      Re: Спасибо :)благодарен, но хотелось бы знать... (Трава) 13/02/2006 - 23:43:57
      Re: Спасибо :)благодарен, но хотелось бы знать... (Dinky) 14/02/2006 - 19:47:56

> Original message text:
> From: Трава - 09/02/2006 - 23:46:52
> Subject:Не работают ИНДЕКСЫ при GROUPBY по двух полям
> -----------------
> Я заметил что MySQL
>
> не использует индексов при группировке по двум полям
> в случае если есть отдельные индексы по каждому из полей участвующих в группировке
> (но нет объединенного индекса по этим двум полям )
>
> То есть оказывается что MySQL при группировках использует только те индексы что подходят по набору полей, которые указаны в конструкции GROUP BY.
>
>
> Вот, к примеру, запрос
> EXPLAIN SELECT A, B FROM MYBASE GROUP BY A, B
>
> Если есть один объединенный индекс он будет использоваться
> CREATE INDEX ABX ON MYBASE(F1,F2)
>
> Если есть два отдельных индекса, то они не будут использоваться
> CREATE INDEX AX ON MYBASE(A)
> CREATE INDEX BX ON MYBASE(B)
>
> у меня стоит MySQL версия 5.0.18
>
> Проверьте у себя плз
>
> Будет ли индекс использоваться?
> Это я определяю с помощью:
> 1. с помощью EXPLAIN, он это показывает в поле KEY
> 2. а также с помощью опытных запросов (смотрю на время выполнения)
>
> Я искал в нете информацию по этому поводу и не нашел.
>
> Мы хотели использовать формат MyISAM для большого анализа с ПРОИЗВОЛЬНЫМИ группировками
>
> Дело в том, что в нашей базе более 100 полей
>
> Для того чтобы учесть все произвольные группировки пользователей придется сделать очень много индексов
>
> 100 во второй степени, то есть 10 000 индексов только чтобы учесть все возможные группировки с участием двух полей
>
> 100 в третье степени, то есть 1 000 000 индексов…
>
> После этих подсчетов становится понятно, что MySQL нам не подходит
>
> Один из варинатов решения проблемы
>
> Можно дать юзеру ограниченное количество вариантов группировок
>
>


From: Трава - 09/02/2006 - 23:49:20
Subject:Не работают ИНДЕКСЫ при GROUPBY по двух полям
-----------------
Извините, исправляю ошибку:

Если есть один объединенный индекс он будет использоваться
CREATE INDEX ABX ON MYBASE(A,B)



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

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

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



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