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




MySQL.RU - Webboard



Вернуться
order by и index (Игорь) 23/10/2004 - 22:35:42
      Re: опять RTFM (Dinky) 25/10/2004 - 19:30:32
      Re: опять RTFM (i9) 26/10/2004 - 11:20:43
      Re: опять RTFM (Dinky) 26/10/2004 - 21:01:51
      Re: опять RTFM (i9) 27/10/2004 - 10:29:18
      Re: опять RTFM (Dinky) 27/10/2004 - 18:26:04
      Re: опять RTFM (Dinky) 27/10/2004 - 18:26:16
      Re: опять RTFM (i9) 28/10/2004 - 10:41:01
      Re: я фигею :) (Dinky) 28/10/2004 - 22:57:56
      Re: я фигею :) (i9) 29/10/2004 - 22:27:00
      Re: я фигею :) (Dinky) 29/10/2004 - 22:47:59
      Re: я фигею :) (i9) 30/10/2004 - 09:25:05
      Re: я фигею :) (Dinky) 31/10/2004 - 00:13:07
      Re: я фигею :) (i9) 31/10/2004 - 18:45:01
      Re: я фигею :) (Dinky) 01/11/2004 - 20:10:48

> Original message text:
> From: Игорь - 23/10/2004 - 22:35:42
> Subject:order by и index
> -----------------
> mysql v4.0.20.
> есть таблица table1(id int, name text, key(id));
> записей в таблице порядка 100000;
> и есть индекс index1 on table1(name(10)).
>
> 1)делаю select * from table1 where name like "А%";
> есть индекс/нет индекса - 0.07sec/0.13sec;
>
> 2)делаю select * from table1 where name like "%А%";
> есть индекс/нет индекса - 0.30sec/0.30sec;
>
> 3)делаю select * from table1 order by name;
> есть индекс/нет индекса - 24.11sec/22.26sec;
>
> из всех трех случаев "explain select..." говорит, что использует индекс только в первом случае(разумеется, если он создан), на счет случая 2 ясно, что нельзя индекс использовать, но почему он не используется в случае 3? Ведь сортировка-то сортирует по первой букве, второй, и т.д....
> P.S. пробывал force index - не помогает
>


From: Dinky - 25/10/2004 - 19:30:32
Subject:опять RTFM
-----------------
ну, во-первых, у тебя ж только первых 10 отсортировано, а не все поля целиком ;)

а во-вторых - дочитать про индексы?
http://dev.mysql.com/doc/mysql/en/MySQL_indexes.html
Sometimes MySQL will not use an index, even if one is available. One way this occurs is when the optimizer estimates that using the index would require MySQL to access a large percentage of the rows in the table. (In this case, a table scan is probably much faster, because it will require many fewer seeks.) However, if such a query uses LIMIT to only retrieve part of the rows, MySQL will use an index anyway, because it can much more quickly find the few rows to return in the result.

--
Dmitry



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

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

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



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