|
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: Валентин - 28/04/2005 - 10:35:22
Subject:Не используются индексы!
-----------------
to Dinky
В версии 4.0 до 21-22 сборки сервер использовал индекс по датовым полям только если больше ничего не осталось, а иногда даже его не замечал, либо когда явно его указывал.
[Это сообщение - спам!]
Последние сообщения из форума
Уважаемые посетители форума MySQL.RU!
Убедительная просьба, прежде чем задавать свой вопрос в этом форуме, обратите внимание на разделы:
- ответы на наиболее часто задаваемые вопросы - FAQ
- раздел документация
- раздел поиск по сообщениям форума и документации
Также, старайтесь наиболее подробно указывать свою ситуацию (версию операционной системы, версию MySQL,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
21732
|
|