
Новые сообщения [новые:0]
Дайджест
Горячие темы
Избранное [новые:0]
Форумы
Пользователи
Статистика
Статистика нагрузки
Мод. лог
Поиск
|
|
31.03.2014, 18:04:37
|
|||
|---|---|---|---|
|
|||
GROUP BY и Order by SUM |
|||
|
#18+
Всем привет. Есть такой казалось бы простой запрос: Код: sql 1. И чтобы я ни делал, как бы ни крутил индексы результат один - "using temporary, using filesort". Нашел в доке по mysql ( http://dev.mysql.com/doc/refman/5.5/en/order-by-optimization.html ), что если условия ORDER и GROUP не равны, то стоит забыть об индексах: In some cases, MySQL cannot use indexes ... You have different ORDER BY and GROUP BY expressions. Удавалось даже достичь успеха, типа "using indexes,using temporary, using filesort", но от "using temporary, using filesort" никак не избавиться. У меня есть подозрение, что это не реально. Я прав или нет? Гуру, это уже спортивный интерес - победить оптимизатор. Заранее спасибо. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.03.2014, 18:08:11
|
|||
|---|---|---|---|
GROUP BY и Order by SUM |
|||
|
#18+
Имхо, ничего тут не победить. Разве что в качестве покрывающего сделать индекс (`obj_id`, `counter`), но от "using temporary, using filesort" это не избавит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.03.2014, 18:16:59
|
|||
|---|---|---|---|
GROUP BY и Order by SUM |
|||
|
#18+
spavlov Код: sql 1. ошибка, после вере - сразу груп бай ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.03.2014, 19:10:55
|
|||
|---|---|---|---|
GROUP BY и Order by SUM |
|||
|
#18+
spavlov, Это даже синтаксически некорректный запрос. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
31.03.2014, 19:14:22
|
|||
|---|---|---|---|
GROUP BY и Order by SUM |
|||
|
#18+
spavlovВсем привет. Есть такой казалось бы простой запрос: Код: sql 1. И чтобы я ни делал, как бы ни крутил индексы результат один - "using temporary, using filesort". Вообще-то ты сортируешь по вычисляемой колонке ( SUM(`counter`) ). Тут запрос вообще по-другому не может быть обработан, кроме как физической сортировки всего результирующего набора. spavlov... то стоит забыть об индексах: ... Ну-ка, расскажи, как в принципе для оптимизации ORDER BY этого запроса можно было бы использовать индексы... Я порадуюсь... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.04.2014, 09:53:04
|
|||
|---|---|---|---|
|
|||
GROUP BY и Order by SUM |
|||
|
#18+
miksoftИмхо, ничего тут не победить. Разве что в качестве покрывающего сделать индекс (`obj_id`, `counter`), но от "using temporary, using filesort" это не избавит. ага, этим удалось добиться using index, но как Вы правильно заметили "от using temporary, using filesort это не избавит". artasошибка, после вере - сразу груп бай ? после раб дня глаз замылился. да, конечно, WHERE там лишнее (упрощал запрос и забыл where убрать). MasterZiv Ну-ка, расскажи, как в принципе для оптимизации ORDER BY этого запроса можно было бы использовать индексы... Я порадуюсь да, конечно, имелись ввиду не индексы, а файлсорт и тэмпорари. Всем большое спасибо за ответы! Теперь я спокоен. Вы - лучшие :) тему закрываем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|
01.04.2014, 15:40:50
|
|||
|---|---|---|---|
GROUP BY и Order by SUM |
|||
|
#18+
spavlovMasterZiv Ну-ка, расскажи, как в принципе для оптимизации ORDER BY этого запроса можно было бы использовать индексы... Я порадуюсь да, конечно, имелись ввиду не индексы, а файлсорт и тэмпорари. Так либо индекс будет использоваться для сортировки, либо темпорари и файл сорт. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
|
|
|

start [/forum/topic.php?fid=47&tablet=1&tid=1835038]: |
0ms |
get settings: |
8ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
116ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
28ms |
get tp. blocked users: |
1ms |
| others: | 214ms |
| total: | 399ms |

| 0 / 0 |
