Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL 2012 - Оптимизация JOIN (без хинтов) / 4 сообщений из 4, страница 1 из 1
12.05.2018, 23:47
    #39643740
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL 2012 - Оптимизация JOIN (без хинтов)
SQL 2012, Есть факты на сотни миллионов строк (50 колонн), измерения в сотни тысяч строк (100 колонн)

Из фактов нужно выгрузить небольшой агрегированный набор (миллион строк) за допустим одну неделю или месяц из десятка лет.

1) Что теоретически будет быстрее на больших наборах? (inner) JOIN-ить уже агрегированные подзапросы (с только нужными колоннами) или напрямую сами таблицы и потом агрегировать на нужную гранулярность если из этих всех таблиц нужно всего лишь несколько колонн? (join-ы только по integer)

2) будет-ли быстрее делать через "with cte.." вместо subquery (или напрямую из таблиц) до нужной гранулярности с минимумом необходимых полей .. и только потом join-ить всё в необходимый resultset.

предположим что join-ноги не индексированы

вопрос чисто по оптимальному join как оно есть, а не реорганизацию источника (индексации и пр.)

пожалуйста без вариантов проверить самому (прав на чистку кэша нет, как и многих других)

Спсб.
...
Рейтинг: 0 / 0
13.05.2018, 12:42
    #39643812
aleks222
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL 2012 - Оптимизация JOIN (без хинтов)
1. Агрегация одной таблицы быстрее агрегации соединения. Но соединение неиндексированных результатов агрегации медленнее, чем соединение индексированных таблиц. Все зависит от количества строк результатов агрегации.
2. "With - без With" - безразлично. Это только способ записи запроса. Дефиниции With оптимизатор незатейливо подставляет в запрос "в месте ссылки". Но сгородить с With корявый запрос - проще. Хотя, ... некорявый тоже проще.
...
Рейтинг: 0 / 0
13.05.2018, 15:31
    #39643882
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL 2012 - Оптимизация JOIN (без хинтов)
vikkiv,

быстрее будет то, что меньше по объёму.
...
Рейтинг: 0 / 0
13.05.2018, 15:56
    #39643893
vikkiv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
SQL 2012 - Оптимизация JOIN (без хинтов)
aleks222 / Владислав Колосов

спасибо за подтверждение, в общем виде предполагал на 60% что так и есть, ситуация осложняется тем что там источником MPP (APS/PDW), буду предварительно агрегировать через подзапросы т.к это по идее дополнительно лучше из-за того что наверное меньше данных будет перемещется на control node, т.е. одним методом сразу двойная оптимизация.
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SQL 2012 - Оптимизация JOIN (без хинтов) / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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