Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Оптимизация запроса 1С

Оптимизация запроса 1С
Я
   bfss-732
 
04.06.20 - 14:16
Всем привет!
В параметре регистра бухгалтерии есть условие, как думаете как можно оптимизировать:

Организация = &Организация
    И (СчетДт В ИЕРАРХИИ (&СчетГруппа)
            И СубконтоДт1 В
                (ВЫБРАТЬ
                    ВТ_Контрагенты.Контрагент
                ИЗ
                    ВТ_Контрагенты)
        ИЛИ СчетКт В ИЕРАРХИИ (&СчетГруппа)
            И СубконтоКт1 В
                (ВЫБРАТЬ
                    ВТ_Контрагенты.Контрагент
                ИЗ
                    ВТ_Контрагенты))
   Dmitry1c
 
1 - 04.06.20 - 14:16
Сделать объединение ВЫБРАТЬ ОБЪЕДИНИТЬ ВЫБРАТЬ вместо ИЛИ
   bfss-732
 
2 - 04.06.20 - 14:18
(1) это как?
   Волшебник
 
Модератор
3 - 04.06.20 - 14:19
(1) Лучше ОБЪЕДИНИТЬ ВСЕ, а то потом начинается...
   Dmitry1c
 
4 - 04.06.20 - 14:20
(2) это на 2й курс вуза ИТ, предмет "Базы данных"
   ИУБиПовиц
 
5 - 04.06.20 - 14:21
Можно еще попробовать в иерархии, заменить на в списке, а в список зафигачить все что входит в группу счетов
   RomanYS
 
6 - 04.06.20 - 14:25
(0) а что за виртуальная таблица РБ, где условия на счета вместе с другими условиями? Вроде там везде отдельные параметры для условий на счета
   bfss-732
 
7 - 04.06.20 - 14:29
(6) Налоговый
   bfss-732
 
8 - 04.06.20 - 14:30
Вот и я читаю:
2.1. При обращении к виртуальной таблице следует передавать в условия наиболее простые конструкции, например, “Измерение = Значение”. Не рекомендуется использовать подзапросы и соединения(*) в параметрах виртуальной таблицы, так как это приводит к медленной работе запроса.
   ASU_Diamond
 
9 - 04.06.20 - 14:32
(8) делаешь 2 запроса с простым условием и объединяешь их результаты.
   RomanYS
 
10 - 04.06.20 - 14:35
(7) Вопрос какая виртуальная таблица, а не какой регистр.
Нужно просто выбрать правильную ВТ и твоё условие станет предельно простым
Организация = &Организация
    И Счет В ИЕРАРХИИ (&СчетГруппа)
    И Субконто1 В
                (ВЫБРАТЬ
                    ВТ_Контрагенты.Контрагент
                ИЗ
                    ВТ_Контрагенты)
   RomanYS
 
11 - 04.06.20 - 14:36
+(10) покажи запрос полностью или опиши конечную цель
   RomanYS
 
12 - 04.06.20 - 14:43
(0)параметр ВидыСубконто задан у ВТ?
Он может гораздо больше влиять на производительность чем остальное
   bfss-732
 
13 - 04.06.20 - 14:59
(11) показать движения по счету из группы 68 Налоги и сборы для контрагентов, по которым осуществлялись закупки в EUR
   RomanYS
 
14 - 04.06.20 - 15:06
(13) 68 - это расчеты с бюджетом. Откуда там контрагенты и расчеты в валюте?
Речь про НДС налогового агента или что?
   bfss-732
 
15 - 04.06.20 - 15:24
(14) да
   RomanYS
 
16 - 04.06.20 - 16:18
(15) бери таблицу оборотов и условие как в (10). Только условие на счет отдельно в соответствующий параметр.
Обязательно явно указать вид субконто.
"В ИЕРАРХИИ" заменить на "=", субсчёт же у тебя один
   bfss-732
 
17 - 14.07.20 - 22:58
(16) два субсчета
   Ёпрст
 
18 - 14.07.20 - 23:19
(0) план вы инднксполнения запроса то погляди, для начала. Если очень надо, создай свой покрывающий индекс для этого запроса
   vi0
 
19 - 15.07.20 - 02:51
(5) такие вещи часто сама платформа делает
Это видно в плане запроса

Список тем форума
Рекламное место пустует  Рекламное место пустует
Прочитай, хотя бы, Митичкина "Разработка в системе 1С:Предприятие 8". Волшебник
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.