|
План выполнения указывает на неактуальную статистику, но она формируется автоматически
|
|||
---|---|---|---|
#18+
пытаюсь разобраться с планом выполнения. Смысл запроса такой: есть справочник WHS- T_WHS_SNST, у каждого WHS есть 2 параметра BRANCH_ID, FRMT_ID; есть таблица дней в году - T_DAYS, есть какая-то сумма (FRCST_SUM) для некоторых WHS за Day_ID - T_WHS_FRCST_OPSUM_DAY_SNST. Надо для всех WHS в справочнике посчитать сумму по параметрам BRANCH_ID, FRMT_ID за день и за месяц Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11.
смотрю актуальный план выполнения. разница между Estimated и Actual до 3000%. рекомендации такие: One of the common reasons for estimation defferences is the use of different statistics. Check if statistics for table T_WHS_SNST are different or stale. Но статистика, по идее, должна быть актуальная. Потому что только что создала первичный ключ по полю WHS_ID, индекс по полям BRANCH_ID, FRMT_ID Смотрю, на какие столбцы в таблице есть статистика запросом Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9.
column_namestatistics_nameWHS_IDPK_T_WHS_SNSTBRANCH_IDI_T_WHS_SNST_BRANCH_FRMTFRMT_IDI_T_WHS_SNST_BRANCH_FRMTBRANCH_ID_WA_Sys_0000000E_21B6055DFRMT_ID_WA_Sys_00000006_21B6055D что не правильно делаю? ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2021, 14:07 |
|
План выполнения указывает на неактуальную статистику, но она формируется автоматически
|
|||
---|---|---|---|
#18+
Диана Орел, Запрос может не использовать статистику в силу его особенностей. При просмотре плана в виде XML использованные статистики отображаются. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2021, 14:12 |
|
План выполнения указывает на неактуальную статистику, но она формируется автоматически
|
|||
---|---|---|---|
#18+
Владислав Колосов, из контекстного меню выбрала Show Execution Plan XML.... Так? в тексте XML не нашла про статистику ничего. Зато нашла вот что: Код: xml 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
посмотрела в инете, SOS_SCHEDULER_YIELD - это большая нагрузка на CPU. рекомендуется улучшить запрос. Как его улучшить?? только использовать подзапросы group by. Тогда когда оправдано использовать оконные функции? CXPACKET возможно также из-за статистики и фрагментации фрагментацию индексов проверила NameTable IndexId IndexName FragmentationT_WHS_SNST 1 PK_T_WHS_SNST 0.866462793068298T_WHS_SNST 2 I_T_WHS_SNST_BRANCH_FRMT 16.9642857142857 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2021, 15:43 |
|
План выполнения указывает на неактуальную статистику, но она формируется автоматически
|
|||
---|---|---|---|
#18+
Диана Орел Владислав Колосов, из контекстного меню выбрала Show Execution Plan XML.... Так? в тексте XML не нашла про статистику ничего. Зато нашла вот что: посмотрела в инете, SOS_SCHEDULER_YIELD - это большая нагрузка на CPU. рекомендуется улучшить запрос. Как его улучшить?? Для начала, прекратить херачить cross join почем зря. ЗЫ. Сначала накроссджойнимохеренноеколичествонепоймичего. Потом фильтруем базар. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2021, 16:30 |
|
План выполнения указывает на неактуальную статистику, но она формируется автоматически
|
|||
---|---|---|---|
#18+
aleks222 Диана Орел Владислав Колосов, из контекстного меню выбрала Show Execution Plan XML.... Так? в тексте XML не нашла про статистику ничего. Зато нашла вот что: посмотрела в инете, SOS_SCHEDULER_YIELD - это большая нагрузка на CPU. рекомендуется улучшить запрос. Как его улучшить?? Для начала, прекратить херачить cross join почем зря. ЗЫ. Сначала накроссджойнимохеренноеколичествонепоймичего. Потом фильтруем базар. а как по другому?? мне надо размножить WHS_ID по всем дням из периода. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2021, 16:32 |
|
План выполнения указывает на неактуальную статистику, но она формируется автоматически
|
|||
---|---|---|---|
#18+
Диана Орел aleks222 пропущено... Для начала, прекратить херачить cross join почем зря. ЗЫ. Сначала накроссджойнимохеренноеколичествонепоймичего. Потом фильтруем базар. а как по другому?? Руками и головой. У вас суммируется таблица T3. От того, что вы к ней прихерачили что-то, сумма не изменится. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2021, 16:35 |
|
План выполнения указывает на неактуальную статистику, но она формируется автоматически
|
|||
---|---|---|---|
#18+
aleks222, сумма не изменится, правильно, но в этой таблице не все WHS_ID и не все DAY_ID. Поэтому я сначала создаю матрицу всех возможных пересечений, и к ним прибавляю уже сумму. Задумка такая была. Результат. там таблица с суммами left join прибавляется whs_id day_id frcst_sum sum_day sum_month23 2021-01-01 10.0 15.030.024 2021-01-01 NULL 15.0 30.0...70 2021-01-31 NULL 15.0 30.0 ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2021, 16:41 |
|
План выполнения указывает на неактуальную статистику, но она формируется автоматически
|
|||
---|---|---|---|
#18+
Диана Орел, кросс джойн. Зачем ему статистика, кстати сказать? Он перебирает все строки, надо учесть, что и памяти много потребуется, надо же результат умножения таблиц где-то хранить. ... |
|||
:
Нравится:
Не нравится:
|
|||
08.11.2021, 16:53 |
|
|
start [/forum/topic.php?fid=46&fpage=10&tid=1684128]: |
0ms |
get settings: |
10ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
48ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
2ms |
others: | 11ms |
total: | 154ms |
0 / 0 |