Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
SQL 2012 - Оптимизация JOIN (без хинтов)
|
|||
|---|---|---|---|
|
#18+
SQL 2012, Есть факты на сотни миллионов строк (50 колонн), измерения в сотни тысяч строк (100 колонн) Из фактов нужно выгрузить небольшой агрегированный набор (миллион строк) за допустим одну неделю или месяц из десятка лет. 1) Что теоретически будет быстрее на больших наборах? (inner) JOIN-ить уже агрегированные подзапросы (с только нужными колоннами) или напрямую сами таблицы и потом агрегировать на нужную гранулярность если из этих всех таблиц нужно всего лишь несколько колонн? (join-ы только по integer) 2) будет-ли быстрее делать через "with cte.." вместо subquery (или напрямую из таблиц) до нужной гранулярности с минимумом необходимых полей .. и только потом join-ить всё в необходимый resultset. предположим что join-ноги не индексированы вопрос чисто по оптимальному join как оно есть, а не реорганизацию источника (индексации и пр.) пожалуйста без вариантов проверить самому (прав на чистку кэша нет, как и многих других) Спсб. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.05.2018, 23:47 |
|
||
|
SQL 2012 - Оптимизация JOIN (без хинтов)
|
|||
|---|---|---|---|
|
#18+
1. Агрегация одной таблицы быстрее агрегации соединения. Но соединение неиндексированных результатов агрегации медленнее, чем соединение индексированных таблиц. Все зависит от количества строк результатов агрегации. 2. "With - без With" - безразлично. Это только способ записи запроса. Дефиниции With оптимизатор незатейливо подставляет в запрос "в месте ссылки". Но сгородить с With корявый запрос - проще. Хотя, ... некорявый тоже проще. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 12:42 |
|
||
|
SQL 2012 - Оптимизация JOIN (без хинтов)
|
|||
|---|---|---|---|
|
#18+
vikkiv, быстрее будет то, что меньше по объёму. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 15:31 |
|
||
|
SQL 2012 - Оптимизация JOIN (без хинтов)
|
|||
|---|---|---|---|
|
#18+
aleks222 / Владислав Колосов спасибо за подтверждение, в общем виде предполагал на 60% что так и есть, ситуация осложняется тем что там источником MPP (APS/PDW), буду предварительно агрегировать через подзапросы т.к это по идее дополнительно лучше из-за того что наверное меньше данных будет перемещется на control node, т.е. одним методом сразу двойная оптимизация. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.05.2018, 15:56 |
|
||
|
|

start [/forum/topic.php?desktop=1&fid=46&tid=1689742]: |
0ms |
get settings: |
10ms |
get forum list: |
22ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
63ms |
get topic data: |
10ms |
get forum data: |
3ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 247ms |
| total: | 396ms |

| 0 / 0 |
