Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как можно оптимизировать ORDER BY? / 8 сообщений из 8, страница 1 из 1
06.05.2005, 12:55
    #33052500
Witali
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно оптимизировать ORDER BY?
Запрос: SELECT psname,category,city FROM base WHERE category='1' ORDER BY date DESC LIMIT 0, 20
Время выполнения: 0,15 сек.

Запрос: SELECT psname,category,city FROM base WHERE category='1' LIMIT 0, 20
Время выполнения: 0,0015 сек.

Формат поля date: `date` int(11) NOT NULL default '0',
Проиндексировано: KEY `date` (`date`)
Наполнение: время Unix (11122222222, ...)

Как можно оптимизировать ORDER BY date DESC?

Уйти от него нельзя, очень нужно. Я пробовал увеличивать значение sort_buffer и record_buffer, как советуют в мане, но не помагает.

EXPLAIN SELECT psname,category,city FROM base WHERE category='1' ORDER BY date DESC LIMIT 0, 20

выдает:

table type possible_keys key key_len ref rows Extra
base ref category category 4 const 8998 Using where; Using filesort

Спасибо!
...
Рейтинг: 0 / 0
06.05.2005, 14:24
    #33052806
Johnmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно оптимизировать ORDER BY?
На сортировку тоже надо время, это понятно.
Про оптимизацию сортировки здесь
...
Рейтинг: 0 / 0
06.05.2005, 15:13
    #33052988
Witali
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно оптимизировать ORDER BY?
Как я уже говорил выше, ман по этому вопросу я изучал, и их советы использовал, но ...
...
Рейтинг: 0 / 0
06.05.2005, 15:46
    #33053109
Johnmen
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно оптимизировать ORDER BY?
Надеешься на чудо ? Что какой-то волшебник знает какие-то волшебные слова об этом, и эти слова не знает разработчик MySQL или те, кто пишет маны ?

"Даже и не надейся" (с)
:)
...
Рейтинг: 0 / 0
09.05.2005, 00:33
    #33054896
ap99ap
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно оптимизировать ORDER BY?
WitaliЗапрос: SELECT psname,category,city FROM base WHERE category='1' ORDER BY date DESC LIMIT 0, 20
Время выполнения: 0,15 сек.


Witali
EXPLAIN SELECT psname,category,city FROM base WHERE category='1' ORDER BY date DESC LIMIT 0, 20
выдает:
table type possible_keys key key_len ref rows Extra
base ref category category 4 const 8998 Using where; Using filesort


Тебе explain честно написал, что 'Using filesort'.
Это значит, что тебе нужен составной индекс вида (category, date) - тогда он будет использован для ускорения сортировки.

Это, кстати, есть в мануалах.
...
Рейтинг: 0 / 0
09.05.2005, 14:34
    #33055052
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно оптимизировать ORDER BY?
с другой стороны, при чём тут category? По нему ведь идёт отбор через where, а запрос с этим самым отбором выполняется очень быстро. category ведь не должна участвовать в сортировке.
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно ц
...
Рейтинг: 0 / 0
09.05.2005, 14:59
    #33055073
maXmo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно оптимизировать ORDER BY?
http://dev.mysql.com/doc/mysql/en/order-by-optimization.html
мля... действительно нужен index(category,date)
------------------
- А как в Интеpнете pаботать? - Сначала нужно узнать, что вам нужно ц
...
Рейтинг: 0 / 0
13.05.2005, 13:11
    #33062117
Witali
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Как можно оптимизировать ORDER BY?
Спасибо, ребята. Объединил индексы и стало работать в 4 раза быстрее.
...
Рейтинг: 0 / 0
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Как можно оптимизировать ORDER BY? / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]