Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Оптимизация GROUP BY Hash match Aggregation / 10 сообщений из 10, страница 1 из 1
11.09.2018, 20:37
    #39701110
anc32
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация GROUP BY Hash match Aggregation
Добрый вечер!
Смотрел в интернете, но так понял, что это нельзя оптимизировать. Имеется запрос insert into @tablename select a,b,c from X group by a,b. Hash match графический планировщик ms sql 2014 показывает 60+%. X менять нельзя - там чтение с индексом. Как можно урезать стоимость group by?
Спасибо за ответы.
...
Рейтинг: 0 / 0
11.09.2018, 20:47
    #39701120
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация GROUP BY Hash match Aggregation
anc32Hash match графический планировщик ms sql 2014 показывает 60+%Это стоимость, а не процент от времени выполнения.
Что хотите оптимизировать и почему решили, что оптимизация необходима?
...
Рейтинг: 0 / 0
12.09.2018, 05:52
    #39701196
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация GROUP BY Hash match Aggregation
anc32Добрый вечер!
Смотрел в интернете, но так понял, что это нельзя оптимизировать. Имеется запрос insert into @tablename select a,b,c from X group by a,b. Hash match графический планировщик ms sql 2014 показывает 60+%. X менять нельзя - там чтение с индексом. Как можно урезать стоимость group by?
Спасибо за ответы.

Что делает кот, когда коту делать нечего?

Правильно, именно это.
Если вы не врете, то select a,b,c from X group by a,b можно оформить индексированным представлением. И наступит щастье.
...
Рейтинг: 0 / 0
17.09.2018, 10:26
    #39703397
AlanDenton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация GROUP BY Hash match Aggregation
anc32 insert into @tablename select a,b,c from X group by a,b
Попробуйте делать вставку во временную таблицу, а не в табличную переменную. В таком случае у вас больше шансов получить параллельный план
...
Рейтинг: 0 / 0
17.09.2018, 10:32
    #39703406
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация GROUP BY Hash match Aggregation
AlanDentonanc32 insert into @tablename select a,b,c from X group by a,b
Попробуйте делать вставку во временную таблицу, а не в табличную переменную. В таком случае у вас больше шансов получить параллельный план
если не ошибаюсь, то это только с 2016+. Ну и на переменной шанс 0%. И на куче тоже без шансов
...
Рейтинг: 0 / 0
17.09.2018, 11:06
    #39703432
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация GROUP BY Hash match Aggregation
AlanDentonПопробуйте делать вставку во временную таблицу, а не в табличную переменную. В таком случае у вас больше шансов получить параллельный планТС жалуется на hash match. Данный фрагмент плана и так будет распараллеливавться при необходимости.
...
Рейтинг: 0 / 0
17.09.2018, 11:19
    #39703445
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация GROUP BY Hash match Aggregation
invmAlanDentonПопробуйте делать вставку во временную таблицу, а не в табличную переменную. В таком случае у вас больше шансов получить параллельный планТС жалуется на hash match. Данный фрагмент плана и так будет распараллеливавться при необходимости.
ну кстати - нет. Табличная переменная не даёт генерировать параллельный план. По крайней мере у меня не получается.
...
Рейтинг: 0 / 0
17.09.2018, 11:23
    #39703452
invm
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация GROUP BY Hash match Aggregation
TaPaKТабличная переменная не даёт генерировать параллельный план.Да, вы правы.
...
Рейтинг: 0 / 0
17.09.2018, 13:25
    #39703568
AlanDenton
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация GROUP BY Hash match Aggregation
TaPaKТабличная переменная не даёт генерировать параллельный план
Ну да. Это одно из отличий табличной переменной от временных таблиц. Но если память не изменяет это еще как-то можно трейсфлагами обойди. Давно читал. А вот у ТС хз в чем проблема. то предложил наобум. План бы видеть)
...
Рейтинг: 0 / 0
17.09.2018, 13:28
    #39703575
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Оптимизация GROUP BY Hash match Aggregation
AlanDentonTaPaKТабличная переменная не даёт генерировать параллельный план
Ну да. Это одно из отличий табличной переменной от временных таблиц. Но если память не изменяет это еще как-то можно трейсфлагами обойди. Давно читал. А вот у ТС хз в чем проблема. то предложил наобум. План бы видеть)
Ну флагами прибивалась статистика, а вот параллельный план с последним ENABLE_PARALLEL_PLAN_PREFERENCE неть.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Оптимизация GROUP BY Hash match Aggregation / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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