Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
dwh maker
Guest |
Привет, есть стар схема fact - columnstore, dimensions - heaps. Запросы adhoc 1 - 5 джойнов + фильтрация по дименшнам. В планах видно недооценку количества строк ближе к вершине плана выполнения, как следствие оптимизатор выбирает nested loops :(. Статистика свежая на каждую колонку таблиц. Если ставлю option(hash join) то все летает. Проблема в том что запросы генерятся BI тулзой. Можно ли зафорсить SQL Server использовать hash joins для такой-то базы не переписывая запрос и не хитнтуя его, м. б. какой трейсфлаг есть или как-то заплангайдить? |
27 июл 17, 14:34 [20679865] Ответить | Цитировать Сообщить модератору |
aleks222
Guest |
Можно, канешно. Обнови статистику и помедитируй над индексами. |
27 июл 17, 14:36 [20679880] Ответить | Цитировать Сообщить модератору |
komrad Member Откуда: Сообщений: 5503 |
https://www.mssqltips.com/sqlservertip/1630/how-to-use-a-sql-server-plan-guide-to-tune-queries/ |
||
27 июл 17, 14:44 [20679900] Ответить | Цитировать Сообщить модератору |
TaPaK Member Откуда: Kiev Сообщений: 6801 |
dwh maker, вообщем средства стандартные - статисктика, query store, или планы прибивать. может кто из практиво подскажет: если поднять min&max memory granted до неприличного, будет ли лезть в самый hash... |
27 июл 17, 14:47 [20679917] Ответить | Цитировать Сообщить модератору |
dwh maker
Guest |
komrad, я это читал, но что-то не могу найти как заставить приписывать хинт к каждому запросу (не для каждого запроса создавать батч) тулза генерит джойны дименшнов с таблицей фактов, в where предикаты по полям дименшнов, обычно сравнение с константами. |
27 июл 17, 15:24 [20680097] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |