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




MySQL.RU - Webboard



Вернуться
Как избежать filesort? (vyacheslav) 07/07/2006 - 01:48:06
      Re: Как избежать filesort? (Dinky) 07/07/2006 - 20:32:03

> Original message text:
> From: vyacheslav - 07/07/2006 - 01:48:06
> Subject:Как избежать filesort?
> -----------------
> Есть запрос:
>
> select post.*, user.id from post left join user on user.id=post.user where post.promote=1 and (post.type<>'link') order by post.always_on_top desc, post.dts desc limit 0, 15;
>
> Смотрю explain. Напротив таблицы user всё нормально - "Using index", а напротив post - "Using where; Using filesort". Пробовал различные индексы, индексы из нескольких полей, в различном порядке, force index,... но не смог добиться полноценного использования индекса вместо where и filesort.
>
> Посоветуйте, как сделать максимально полноценный индекс?
>


From: Dinky - 07/07/2006 - 20:32:03
Subject:Как избежать filesort?
-----------------
вот это полезно почитать: http://dev.mysql.com/doc/refman/5.0/en/mysql-indexes.html
В вашем случае post.type<>'link' "отрезает" индекс, а то могло бы сработать...

btw, a вам точно надо left join? бывают посты без юзеров?
--
Dmitry


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

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

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



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