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