новое событие
Информационный поток
Задания вакансии материалы разработки сообщения форума
Форум

Обсуждение к материалу: Оператор "В ИЕРАРХИИ" в запросе

    • #1
    • 09.03.2013 18:44
    0
    Язык запросов платформы 1С:Предприятие 8.x поддерживает такой оператор как "В ИЕРАРХИИ". Рассмотрим его принцип работы, действия программы на уровне СУБД и влияние на производительность.  Подробнее>>
    • #2
    • 09.03.2013 18:47
    0
    Хорошая статья, спасибо.

    Есть только замечание, что всегда, когда поднимается вопрос производительности, мозг ожидает увидеть график её падения в зависимости от величин предмета обсуждения.
    • #3
    • 10.03.2013 19:41
    0
    Спасибо!

    Вы правы, основной упор сделал на описание работы платформы с оператором "В ИЕРАРХИИ". На производительность сделал небольшую заметку, потому что для подробного описания нужен формат отдельной статьи.
    • #4
    • 15.12.2018 11:39
    • Отредактировано: 15.12.2018 11:40:32
    0
    Тоже постоянно нахожусь в поисках оптимальных решений кода и производительности.
    Дополню, что если нужна иерархия, то лучше использовать ИТОГИ.
    Замеры в реальной задаче торгового агента
    конфигурация 1С:Комплексная автоматизация 2 (2.2.4.103)
    данных ~ 39000 позиций номенклатуры и 35 видов цен
    для запроса без характеристик на сервере HP (кому интересно параметры железа, то дополню)
    Выбрать
        Номенклатура    ,ВидЦены ТипЦен    ,Цена
    Поместить тзЦен
    Из 
        РегистрСведений.ЦеныНоменклатуры.СрезПоследних()
     ГДЕ ВидЦены В(&спТиповЦен) 
    ИНДЕКСИРОВАТЬ ПО Номенклатура, ТипЦен
    ;
    
    Выбрать
        Тов.Ссылка Номенклатура    ,тзЦен.ТипЦен    ,тзЦен.Цена 
    ИЗ
        Справочник.Номенклатура Тов         
    
    ЛЕВОЕ СОЕДИНЕНИЕ (Выбрать * ИЗ тзЦен) тзЦен
    ПО Тов.Ссылка = тзЦен.Номенклатура
    
    УПОРЯДОЧИТЬ ПО
        Тов.ЭтоГруппа ИЕРАРХИЯ
        ,Тов.Наименование
        ,тзЦен.ТипЦен.Наименование
    


    отрабатывает ~ 35 секунд

    а запрос
    Выбрать
        Номенклатура    ,ВидЦены ТипЦен    ,Цена
    Поместить тзЦен
    Из 
        РегистрСведений.ЦеныНоменклатуры.СрезПоследних()
     ГДЕ ВидЦены В(&спТиповЦен) 
    ИНДЕКСИРОВАТЬ ПО Номенклатура, ТипЦен
    ;
    
    Выбрать
        Тов.Ссылка Номенклатура    ,тзЦен.ТипЦен    ,тзЦен.Цена 
    ИЗ
        Справочник.Номенклатура Тов         
        
    ЛЕВОЕ СОЕДИНЕНИЕ (Выбрать * ИЗ тзЦен) тзЦен
    ПО Тов.Ссылка = тзЦен.Номенклатура
    
    ГДЕ
    	Тов.ЭтоГруппа = Ложь
    
    УПОРЯДОЧИТЬ ПО Тов.Наименование
    				, тзЦен.ТипЦен.Наименование 
    ИТОГИ ПО Тов.Ссылка ТОЛЬКО ИЕРАРХИЯ   
    


    отрабатывает ~ 5 секунд
Для участия в обсуждении Вам необходимо авторизоваться либо   зарегистрироваться