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




MySQL.RU - Webboard



Вернуться
Не используются индексы! (Ahilles) 27/04/2005 - 16:17:15
      Re: Не используются индексы! (Ahilles) 27/04/2005 - 16:17:44
      Re: Не используются индексы! (Валентин) 27/04/2005 - 18:02:11
      Re: Не используются индексы! (Валентин) 27/04/2005 - 18:04:48
      Re: Не используются индексы! (Dinky) 27/04/2005 - 20:24:57
      Re: Не используются индексы! (Валентин) 28/04/2005 - 10:35:22
      Re: Не используются индексы! (Dinky) 28/04/2005 - 19:52:51
      Re: Не используются индексы! (Валентин) 29/04/2005 - 10:47:40
      Re: Не используются индексы! (Dinky) 29/04/2005 - 18:56:58

> Original message text:
> From: Ahilles - 27/04/2005 - 16:17:15
> Subject:Не используются индексы!
> -----------------
> Есть очень странная проблема, не совсем могу понять как такое происходит.
> Существует одна таблица с тремя миллионами записей и проиндексированым id-полем.
> Существует связанная с ней по такому же id-полю, тоже проиндексированному.
> CREATE TABLE `submit` (
> `U` varchar(20) default NULL,
> `O` varchar(32) default NULL,
> `D` varchar(32) default NULL,
> `Data` text,
> `Ack` set('YES','NO') default NULL,
> `msgid` int(11) NOT NULL auto_increment,
> `pairid` varchar(40) default NULL,
> `linkid` varchar(40) default NULL,
> `ValidUntil` varchar(32) default NULL,
> `Validity` int(5) default NULL,
> `ts` timestamp(14) NOT NULL,
> `Transform` set('YES','NO') default 'NO',
> `status` int(5) default NULL,
> KEY `ts` (`ts`),
> KEY `msgid` (`msgid`),
> KEY `ts_idx` (`ts`),
> KEY `Destination_idx` (`Destination`)
> ) TYPE=MyISAM;
>
> CREATE TABLE `submit_queue` (
> `msgid` int(11) NOT NULL default '0',
> `Priority` set('1','2','3') default '3',
> `ts` timestamp(14) NOT NULL,
> PRIMARY KEY (`msgid`),
> KEY `ts_idx` (`ts`),
> KEY `priority_idx` (`Priority`)
> ) TYPE=MyISAM;
>
>
> SELECT submit.U, submit.Transform, submit.Data, submit.D,
> submit.O, submit.ValidUntil, submit.Validity, submit.msgid,
> submit.linkid FROM submit, submit_queue WHERE
> submit.msgid=submit_queue.msgid LIMIT 5000
>
> Так вот, запрос выполняется две минуты, эксплейн показывает, что копаться сия конструкция будет в тех самых трёх миллионах строк :-/
> (пока писал, заметил что индекс ts два раза, KEY `ts_idx` (`ts`) сейчас удалю, но на дело это, вроде, влиять-то не должно.)
> почему не используется индекс в запросе??? Кто что скажет?
> версия мускула 4.0.21
>


From: Валентин - 29/04/2005 - 10:47:40
Subject:Не используются индексы!
-----------------
to Dinky
Из практики.
Скрипт выложить не могу(сильно большой), т.к. проявляется "аккуратность" по отношению к данным по индексам даты в пределах от 2 до 6-8 млн записей.
Но в принципе по выбранным индексам в итоге он немного быстрее выгребает данные, хотя по кол-ву записей в индексе как-бы этого и не скажешь... видимо хитрости в организации индекстов, либо их обработке.
Я и сам люблю индексы приписывать, удобная штука на кубиках :)


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

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

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



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