|
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,
версию программного обеспечения, по которому возникает вопрос, текст возникающих ошибок, и др.)
Помните, чем конкретнее Вы опишете ситуацию, тем больше шансов получить реальную помощь.
29096
|
|