|
estimator 2014 и выше
|
|||
---|---|---|---|
#18+
(sql2017, sql2019) столкнулся с такой проблемой (смотрим на картинке) это отправная точка более навороченного запроса, и приводит оно к тому, что навороченный запрос в первом случае работает 20s, во втором 200ms с хинтом option(use hint('FORCE_LEGACY_CARDINALITY_ESTIMATION')) или option(recompile) ((что вообще странно)) первый запрос работает так же как и второй. с parameter sniffing = OFF, наоборот, второй работает как первый. может кто объяснить поведение и для чего это сделано? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 16:03 |
|
estimator 2014 и выше
|
|||
---|---|---|---|
#18+
Какой тип у t._Date_Time? Что будет, если getdate()-10 заменить на dateadd(...) ? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 16:08 |
|
estimator 2014 и выше
|
|||
---|---|---|---|
#18+
msLex, ничего не изменилось. да хоть так Код: sql 1. 2. 3.
... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 16:23 |
|
estimator 2014 и выше
|
|||
---|---|---|---|
#18+
ShIgor, надо бы статистики пересчитать в таком случае. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 16:34 |
|
estimator 2014 и выше
|
|||
---|---|---|---|
#18+
Владислав Колосов, первым делом. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 16:35 |
|
estimator 2014 и выше
|
|||
---|---|---|---|
#18+
ShIgor, вообще интересно, 10% времени занимает скан, а 90% на что уходит? PS понял, это объёмы. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 16:38 |
|
estimator 2014 и выше
|
|||
---|---|---|---|
#18+
msLex Какой тип у t._Date_Time? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 16:41 |
|
estimator 2014 и выше
|
|||
---|---|---|---|
#18+
Владислав Колосов, не, % это Actual/Estimated ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 16:41 |
|
estimator 2014 и выше
|
|||
---|---|---|---|
#18+
ShIgor, засекретили секционирование? Почему просмотренные объемы разные? ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 16:41 |
|
estimator 2014 и выше
|
|||
---|---|---|---|
#18+
Владислав Колосов, нет секционирования никакого просмотренные объемы одинаковые (синим) разница только в оценке (красным) тип поля datetime2, но и declare @fromdate datetime2 - никакого влияния не оказывает, проверял ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 16:43 |
|
estimator 2014 и выше
|
|||
---|---|---|---|
#18+
(не прицепилось чего-то) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 16:48 |
|
estimator 2014 и выше
|
|||
---|---|---|---|
#18+
ShIgor, Что-то вы не договаривете или не показываете.... В обоих показанных запросах - скан кластерного. Поэтому можно обоцениваться, но время работы должно быть примерно одинаковое. А настолько разное оно будет, только если один из планов параллельный. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 17:34 |
|
estimator 2014 и выше
|
|||
---|---|---|---|
#18+
invm, в приведенном примере вытащил все что мог.. никаких недоговорок. и по времени/скорости/io статистике запросы практически не отличаются. разница только в оценке другое дело навороченный запрос, там 6 сущностей (на _Document151 change tracking), выборка по изменениям с последней запрошенной версии (немного, 1-3 записей в документе + 5-10 из табличных частей) и все это оборачивается в xml. результирующий XML не больше 20Кб однако поведение абсолютно такое-же, с параметром - 20!!! секунд, с вычислением или в LEGACY_CARDINALITY_ESTIMATION 0,2сек. и источник проблемы именно в том, что неверная оценка практически на каждом этапе в плане, начиная вот с этого 151 документа. грешил на СТ. отключал - не помогло уровень совместимости на базах (от 110 (тоже не понял, вроде это legacy) до - 150) - не помогло делал копии таблиц в другую базу - не помогло на другой сервер (2016) - не помогло осталось MAX_DOP на базе в 0 поставить, стоит 1, поэтому никаких параллельных планов пока. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 19:05 |
|
estimator 2014 и выше
|
|||
---|---|---|---|
#18+
ShIgor, Ваш пример не отражает проблему. Оценка для предиката с неизвестным значением (для переменной) будет по числу сирок в таблице, а с известным (константа) по статистике. Лучше давайте актуальные планы быстрого и медленного запроса. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.01.2021, 19:39 |
|
|
start [/forum/topic.php?fid=46&msg=40036175&tid=1685206]: |
0ms |
get settings: |
10ms |
get forum list: |
15ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
163ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
58ms |
get tp. blocked users: |
1ms |
others: | 293ms |
total: | 563ms |
0 / 0 |