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




MySQL.RU - Webboard



Вернуться
Можно ли как-то ускорить сортировку? (Balancer) 12/11/2006 - 13:42:46
      Re: Можно ли как-то ускорить сортировку? (Сергей) 13/11/2006 - 17:55:39

> Original message text:
> From: Balancer - 12/11/2006 - 13:42:46
> Subject:Можно ли как-то ускорить сортировку?
> -----------------
> Банальная БД - форум. Как только количество постингов в топике становится большим (скажем, несколько тысяч), выборка последних страниц форума начинает тормозить. Пример:
>
> mysql> EXPLAIN SELECT p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.hide_smilies, p.posted, p.edited, p.edited_by FROM posts AS p WHERE p.topic_id=30810 ORDER BY p.id LIMIT 1250, 25;
> +----+-------------+-------+------+--------------------+--------------------+---------+-------+------+-----------------------------+
> | id | select_type | table | type | possible_keys | key | key_len | ref | rows | Extra |
> +----+-------------+-------+------+--------------------+--------------------+---------+-------+------+-----------------------------+
> | 1 | SIMPLE | p | ref | posts_topic_id_idx | posts_topic_id_idx | 4 | const | 1496 | Using where; Using filesort |
> +----+-------------+-------+------+--------------------+--------------------+---------+-------+------+-----------------------------+
>
> Видно, что используется filesort. Можно ли как-то от него изавиться? Например, поскольку таблица не модифицируется, а только дописывается, нельзя ли как-то сказать MySQL, чтобы хранил данные уже сортированными по posts.id?
>


From: Сергей - 13/11/2006 - 17:55:39
Subject:Можно ли как-то ускорить сортировку?
-----------------
Не знаю как у тебя индексы организованы, но если posts_topic_id_idx сделан только по полю topic_id, то
попробуй его сделать по 2-м полям topic_id,id
Должно помочь


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

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

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



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