0
egmyh
22.02.20
✎
14:06
|
"ВЫБРАТЬ
| ТоварыНаСкладахОбороты.Период,
| ТоварыНаСкладахОбороты.Склад,
| ТоварыНаСкладахОбороты.Номенклатура,
| ДвижениеТоваровОбороты.Распоряжение.АдресДоставки КАК АдресДоставки,
| СУММА(ТоварыНаСкладахОбороты.ВНаличииОборот) КАК ВНаличииОборот,
| СУММА(ТоварыНаСкладахОбороты.КОтгрузкеОборот) КАК КОтгрузкеОборот,
| СУММА(ДвижениеТоваровОбороты.ПланируемоеПоступлениеОборот) КАК ПланируемоеПоступлениеОборот,
| СУММА(ДвижениеТоваровОбороты.ПланируемаяОтгрузкаСоСкладаОборот) КАК ПланируемаяОтгрузкаСоСкладаОборот
|ИЗ
| РегистрНакопления.ТоварыНаСкладах.Обороты(&ДатаНачала, &ДатаОкончания, Неделя, ) КАК ТоварыНаСкладахОбороты
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ДвижениеТоваров.Обороты(&ДатаНачала, &ДатаОкончания, Неделя, ) КАК ДвижениеТоваровОбороты
| ПО ТоварыНаСкладахОбороты.Номенклатура = ДвижениеТоваровОбороты.Номенклатура
| И ТоварыНаСкладахОбороты.Склад = ДвижениеТоваровОбороты.Склад
|
|СГРУППИРОВАТЬ ПО
| ТоварыНаСкладахОбороты.Номенклатура,
| ТоварыНаСкладахОбороты.Склад,
| ДвижениеТоваровОбороты.Распоряжение.АдресДоставки,
| ТоварыНаСкладахОбороты.Период";
|
|
5
Провинциальный 1сник
22.02.20
✎
14:55
|
Соединение с виртуальной таблицей == соединение с подзапросом. Подзапрос создает неявную временную таблицу, но в отличие от явной временной таблицы - на момент компиляции запроса оптимизатор СУБД не имеет информации о статистике данных в ней. И например постгрес очень часто ошибается, выбирая неверный план запроса, при котором идет соединение вложенными циклами с огромным массивом данных. При использовании же явных временных таблиц и пакетных запросов в постгресе последних версий задействуется патч online_analyze и таких ошибок не происходит, в результате запрос выполняется намного эффективнее.
|
|