|
Как получить параллельной план
|
|||
---|---|---|---|
#18+
Здравствуйте. Прошу прощения если тема уже обсуждалось, сходу не нашёл. Подскажите в какую сторону смотреть или может какие ссылки по теме есть. Два запрос, использующие конструкцию cross apply с одной и той же inline функцией с рекурсивным запросом, имеют разные планы выполнения. Хочется получить для второго запроса параллельный план такой же, как и для первого. Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48.
PS: если имеет значения select @@version Microsoft SQL Server 2014 (SP2) (KB3171021) - 12.0.5000.0 (X64) Jun 17 2016 19:14:09 Copyright (c) Microsoft Corporation Developer Edition: (64-bit) on Windows NT 6.3 <X64> (Build 9600: ) ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2016, 15:04 |
|
Как получить параллельной план
|
|||
---|---|---|---|
#18+
Ну, всегда есть трейс-флаг QUERYTRACEON 8649 . ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2016, 15:42 |
|
Как получить параллельной план
|
|||
---|---|---|---|
#18+
он же не дурной параллелить 13 617 записей. дешевле не параллелить. флагом заставить можно, но еще проще записей подлить, чтобы стало тоже 406 774 ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2016, 16:45 |
|
Как получить параллельной план
|
|||
---|---|---|---|
#18+
Спасибо за помощь. ... |
|||
:
Нравится:
Не нравится:
|
|||
04.10.2016, 16:58 |
|
Как получить параллельной план
|
|||
---|---|---|---|
#18+
Гавриленко Сергей Алексеевич Ну, всегда есть трейс-флаг QUERYTRACEON 8649 . Пробовал разные варианты типа Код: plaintext 1. 2.
Если вкратце необходимо выполнить очень прожорливую к CPU обработку строк. Тест кейс Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
Выполняется в параллели если сбросить порог в ноль Код: sql 1. 2. 3. 4. 5. 6. 7. 8.
Либо если применить изысканный трюк Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
Есть ли какие-то еще способы повлиять на стоимость или игнорировать порог? Конечная цель - добиться параллельного выполнения без создания объектов и без вызова sp_configure. PS. Microsoft SQL Server 2017 ... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2020, 04:12 |
|
Как получить параллельной план
|
|||
---|---|---|---|
#18+
Кобанчег, У запроса уровень оптимизации TRIVIAL. Поэтому и не праллелится. Вот так попробуйте Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
20.11.2020, 09:42 |
|
Как получить параллельной план
|
|||
---|---|---|---|
#18+
invm, Спасибо. А ларчик просто открывался. Интересно что план считается trivial даже для секционированной (и не временной таблицы) и не параллелится. А ведь подобные запросы могут быть заметно ускорены параллельностью с минимальным overhead на её организацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.11.2020, 16:12 |
|
|
start [/forum/topic.php?fid=46&fpage=41&tid=1685388]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
57ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
89ms |
get tp. blocked users: |
2ms |
others: | 283ms |
total: | 472ms |
0 / 0 |