Добрый день ! (Документооборот 1.4)
Есть запрос состоящий из трех подзапросов. Каждый из трех подзапросов выполняется мгновенно.
Но корневой запрос использующий ОБЪЕДИНИТЬ выполняется 21 секунду.
Помогите оптимизировать !

```1c
    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ЕСТЬNULL(СУММА(ВложенныйЗапрос.КоличествоСИстекщимСрокомИсполнения), 0) КАК ИсходящиеДокументыБезОтвета,
    ЕСТЬNULL(СУММА(ВложенныйЗапрос.КоличествоСОшибкойВСВДБ), 0) КАК ИсходящиеДокументыВСВДСОшибкой,
    ЕСТЬNULL(СУММА(ВложенныйЗапрос.КоличествоГотовыхКОтправкеПоСВД), 0) КАК ИсходящиеДокументыГотовыеКОтправкеПоСВД
    ИЗ
    (ВЫБРАТЬ
    КОЛИЧЕСТВО(*) КАК КоличествоСИстекщимСрокомИсполнения,
    0 КАК КоличествоСОшибкойВСВДБ,
    0 КАК КоличествоГотовыхКОтправкеПоСВД
    ИЗ
    Справочник.ИсходящиеДокументы КАК ИсходящиеДокументы
    ГДЕ
    (ИсходящиеДокументы.Ответственный = &ТекущийПользователь
    ИЛИ ИсходящиеДокументы.Ответственный = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)
    И ИсходящиеДокументы.Подготовил = &ТекущийПользователь)
    И НЕ ИсходящиеДокументы.ПометкаУдаления
    И ИсходящиеДокументы.СрокИсполнения <> ДАТАВРЕМЯ(1, 1, 1)
    И ИсходящиеДокументы.СрокИсполнения < &ТекущаяДата
    И НЕ 1 В
    (ВЫБРАТЬ
    1
    ИЗ
    РегистрСведений.СвязиДокументов КАК СвязиДокументов
    ГДЕ
    СвязиДокументов.Документ = ИсходящиеДокументы.Ссылка
    И СвязиДокументов.ТипСвязи = ЗНАЧЕНИЕ(Справочник.ТипыСвязей.ПолученОтвет)
    И СвязиДокументов.СвязанныйДокумент ССЫЛКА Справочник.ВходящиеДокументы)
    И 1 В
    (ВЫБРАТЬ
    1
    ИЗ
    Справочник.ИсходящиеДокументы.Получатели КАК ИсходящиеДокументыПолучатели
    ГДЕ
    ИсходящиеДокументыПолучатели.Ссылка = ИсходящиеДокументы.Ссылка
    И ИсходящиеДокументыПолучатели.Отправлен)

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    0,
    КОЛИЧЕСТВО(*),
    0
    ИЗ
    Справочник.ИсходящиеДокументы КАК ИсходящиеДокументы
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КешИнформацииОбОбъектах КАК КешИнформацииОбОбъектах
    ПО ИсходящиеДокументы.Ссылка = КешИнформацииОбОбъектах.Объект
    ГДЕ
    (ИсходящиеДокументы.Ответственный = &ТекущийПользователь
    ИЛИ ИсходящиеДокументы.Ответственный = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)
    И ИсходящиеДокументы.Подготовил = &ТекущийПользователь)
    И НЕ ИсходящиеДокументы.ПометкаУдаления
    И КешИнформацииОбОбъектах.СостояниеСВД = ЗНАЧЕНИЕ(Справочник.ВидыСостоянийДокументовВСВД.Ошибка)

    ОБЪЕДИНИТЬ ВСЕ

    ВЫБРАТЬ
    0,
    0,
    КОЛИЧЕСТВО(*)
    ИЗ
    (ВЫБРАТЬ
    ИсходящиеДокументы.Ссылка КАК Ссылка
    ИЗ
    Справочник.ИсходящиеДокументы.Получатели КАК ИсходящиеДокументыПолучатели
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ИсходящиеДокументы КАК ИсходящиеДокументы
    ПО (ИсходящиеДокументы.Ссылка = ИсходящиеДокументыПолучатели.Ссылка)
    ГДЕ
    ИсходящиеДокументы.ГотовКОтправке = ИСТИНА
    И ИсходящиеДокументы.ПометкаУдаления = ЛОЖЬ
    И ИсходящиеДокументыПолучатели.СпособОтправки = ЗНАЧЕНИЕ(Справочник.СпособыДоставки.СВД)
    И ИсходящиеДокументыПолучатели.Отправлен = ЛОЖЬ) КАК ГотовыеКОтправке) КАК ВложенныйЗапрос
```
---
Попробуйте подзапросы переписать на временные таблицы как вариант.
---
Попробуйте подзапросы переписать на временные таблицы как вариант.
---
Переписал на Временные таблицы, - скорость выполнения 0.27 сек

```1c
    ВЫБРАТЬ
    ЕСТЬNULL(КОЛИЧЕСТВО(*), 0) КАК КоличествоСИстекщимСрокомИсполнения,
    0 КАК КоличествоСОшибкойВСВДБ,
    0 КАК КоличествоГотовыхКОтправкеПоСВД
    ПОМЕСТИТЬ ВТ1
    ИЗ
    Справочник.ИсходящиеДокументы КАК ИсходящиеДокументы
    ГДЕ
    (ИсходящиеДокументы.Ответственный = &ТекущийПользователь
    ИЛИ ИсходящиеДокументы.Ответственный = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)
    И ИсходящиеДокументы.Подготовил = &ТекущийПользователь)
    И НЕ ИсходящиеДокументы.ПометкаУдаления
    И ИсходящиеДокументы.СрокИсполнения <> ДАТАВРЕМЯ(1, 1, 1)
    И ИсходящиеДокументы.СрокИсполнения < &ТекущаяДата
    И НЕ 1 В
    (ВЫБРАТЬ
    1
    ИЗ
    РегистрСведений.СвязиДокументов КАК СвязиДокументов
    ГДЕ
    СвязиДокументов.Документ = ИсходящиеДокументы.Ссылка
    И СвязиДокументов.ТипСвязи = ЗНАЧЕНИЕ(Справочник.ТипыСвязей.ПолученОтвет)
    И СвязиДокументов.СвязанныйДокумент ССЫЛКА Справочник.ВходящиеДокументы)
    И 1 В
    (ВЫБРАТЬ
    1
    ИЗ
    Справочник.ИсходящиеДокументы.Получатели КАК ИсходящиеДокументыПолучатели
    ГДЕ
    ИсходящиеДокументыПолучатели.Ссылка = ИсходящиеДокументы.Ссылка
    И ИсходящиеДокументыПолучатели.Отправлен)
    ;

    ВЫБРАТЬ
    0 КАК КоличествоСИстекщимСрокомИсполнения,
    ЕСТЬNULL(КОЛИЧЕСТВО(*), 0) КАК КоличествоСОшибкойВСВДБ,
    0 КАК КоличествоГотовыхКОтправкеПоСВД
    ПОМЕСТИТЬ ВТ2
    ИЗ
    Справочник.ИсходящиеДокументы КАК ИсходящиеДокументы
    ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КешИнформацииОбОбъектах КАК КешИнформацииОбОбъектах
    ПО ИсходящиеДокументы.Ссылка = КешИнформацииОбОбъектах.Объект
    ГДЕ
    (ИсходящиеДокументы.Ответственный = &ТекущийПользователь
    ИЛИ ИсходящиеДокументы.Ответственный = ЗНАЧЕНИЕ(Справочник.Пользователи.ПустаяСсылка)
    И ИсходящиеДокументы.Подготовил = &ТекущийПользователь)
    И НЕ ИсходящиеДокументы.ПометкаУдаления
    И КешИнформацииОбОбъектах.СостояниеСВД = ЗНАЧЕНИЕ(Справочник.ВидыСостоянийДокументовВСВД.Ошибка)
    ;

    ВЫБРАТЬ
    0 КАК КоличествоСИстекщимСрокомИсполнения,
    0 КАК КоличествоСОшибкойВСВДБ,
    ЕСТЬNULL(КОЛИЧЕСТВО(*), 0) КАК КоличествоГотовыхКОтправкеПоСВД
    ПОМЕСТИТЬ ВТ3
    ИЗ
    (ВЫБРАТЬ
    ИсходящиеДокументы.Ссылка КАК Ссылка
    ИЗ
    Справочник.ИсходящиеДокументы.Получатели КАК ИсходящиеДокументыПолучатели
    ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ИсходящиеДокументы КАК ИсходящиеДокументы
    ПО (ИсходящиеДокументы.Ссылка = ИсходящиеДокументыПолучатели.Ссылка)
    ГДЕ
    ИсходящиеДокументы.ГотовКОтправке = ИСТИНА
    И ИсходящиеДокументы.ПометкаУдаления = ЛОЖЬ
    И ИсходящиеДокументыПолучатели.СпособОтправки = ЗНАЧЕНИЕ(Справочник.СпособыДоставки.СВД)
    И ИсходящиеДокументыПолучатели.Отправлен = ЛОЖЬ) КАК ГотовыеКОтправке
    ;

    ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ЕСТЬNULL(СУММА(КоличествоСИстекщимСрокомИсполнения), 0) КАК ИсходящиеДокументыБезОтвета,
    ЕСТЬNULL(СУММА(КоличествоСОшибкойВСВДБ), 0) КАК ИсходящиеДокументыВСВДСОшибкой,
    ЕСТЬNULL(СУММА(КоличествоГотовыхКОтправкеПоСВД), 0) КАК ИсходящиеДокументыГотовыеКОтправкеПоСВД
    ИЗ (
    ВЫБРАТЬ * ИЗ ВТ1
    ОБЪЕДИНИТЬ ВСЕ
    ВЫБРАТЬ * ИЗ ВТ2
    ОБЪЕДИНИТЬ ВСЕ
    ВЫБРАТЬ * ИЗ ВТ3 КАК ВложенныйЗапрос) КАК Запр
```