Вход | Регистрация


1С:Предприятие :: 1С:Предприятие 8 общая

Оптимизация запроса к регистру сведений

Оптимизация запроса к регистру сведений
Я
   Humanoid483
 
26.05.18 - 18:45
Доброго времени суток.

Подскажите, пожалуйста, как оптимизировать запрос к регистру сведений, чтобы выполнялся быстрее?

Поле1 и Поле2 - составной тип данных из всех документов базы. С установленным значением Индексировать.

Сам запрос:
ВЫБРАТЬ
    РегистрСведений.Поле1,
    РегистрСведений.Поле2
ИЗ
    РегистрСведений.НазваниеРегистра КАК РегистрСведений
ГДЕ
    (РегистрСведений.Поле1 В (&СписокДокументов)
            ИЛИ РегистрСведений.Поле2 В (&СписокДокументов))
 
 
   hhhh
 
1 - 26.05.18 - 19:00
(0) ну ИЛИ убери, чудак.
   Humanoid483
 
2 - 26.05.18 - 19:06
(1) сделать условие И?
   1СныйЮзер
 
3 - 26.05.18 - 19:15
Нежелательно обращаться к реквизиту, который составной. Так 1Ска будет обращаться ко всем таблицам, которые указаны в Типе.
Сделай через Выбор...Тогда для каждого из документов, которые могут быть в этом реквизите.Так будет быстрее выполняться.
   youalex
 
4 - 26.05.18 - 19:21
(3) не в этом случае
   youalex
 
5 - 26.05.18 - 19:22
(0) разбей ИЛИ На ОБЪЕДИНИТЬ ВСЕ
   drei
 
6 - 26.05.18 - 19:29
(0) список внутреннее соединение регистр по поле1 обьединить список внутреннее соединение регистр по поле2

(5) объединить все задвоит строки, надо обьединить
   youalex
 
7 - 26.05.18 - 19:41
(6) >>объединить все задвоит строки
зависит от логики архитектуры.
>>список внутреннее соединение регистр 

Интересная идея, но можно залить &Список во времянку и вместо объединения цеплять регистр к времянке двумя ЛС.
   Humanoid483
 
8 - 26.05.18 - 19:57
Получил следующий запрос (он получится быстрее?)


ВЫБРАТЬ
    НазваниеРегистра.Поле1 КАК Документ
ИЗ
    РегистрСведений.НазваниеРегистра КАК НазваниеРегистра
ГДЕ
    НазваниеРегистра.Поле1 В(&СписокДокументов)

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

ВЫБРАТЬ
    НазваниеРегистра.Поле2
ИЗ
    РегистрСведений.НазваниеРегистра КАК НазваниеРегистра
ГДЕ
    НазваниеРегистра.Поле2 В(&СписокДокументов)
   Cool_Profi
 
9 - 26.05.18 - 20:01
А у тебя в списке документов сколько их?
Вообще - нужно смотреть план в скуле
   Humanoid483
 
10 - 26.05.18 - 20:04
(9) для теста взял 20 ссылок
 
 Рекламное место пустует
   vde69
 
11 - 26.05.18 - 20:41
1. составной тип для измерения бесполезно индексировать
2. составной тип по любому это вложенный запрос к метаданным, причем очень плохой...

такие задачи следует решать через пользовательский тип и уже его загонять в регистр...
   drei
 
12 - 26.05.18 - 20:47
(11)
3. Трава была зеленее, мне лучше знать, эх, молодежь!
4. Мы все умрем.
   H A D G E H O G s
 
13 - 26.05.18 - 21:01
(11) не согласен.
   H A D G E H O G s
 
14 - 26.05.18 - 21:02
(0) Если на Поле2 есть индекс - то - (8), иначе - оставить как есть.
   Tankur
 
15 - 27.05.18 - 10:14
ВЫБРАТЬ
    РегистрСведений.Поле1, 
    РегистрСведений.Поле2
ИЗ
    РегистрСведений.НазваниеРегистра КАК РегистрСведений
ГДЕ
    (РегистрСведений.Поле1 В (&СписокДокументов)

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

ВЫБРАТЬ 
    РегистрСведений.Поле1, 
    РегистрСведений.Поле2 
ИЗ
    РегистрСведений.НазваниеРегистра КАК РегистрСведений
ГДЕ
РегистрСведений.Поле2 В (&СписокДокументов)
   Cool_Profi
 
16 - 27.05.18 - 13:29
(11) "2. составной тип по любому это вложенный запрос к метаданным"
Если  наложить условие на тип через ССЫЛКА - то вполне себе нормальный, я смотрел планы
   lEvGl
 
17 - 27.05.18 - 14:19
все это словоблудство, нихрена не понятно - что надо, что в списках из фильтров, через выразить можно однозначно определить тип ссылок, будет быстрее, но ведь не понятно что там и где. друг, никто кроме тебя лучше не знает ситуации, что да как, спасение утопающих - дело рук самих утопающих
   youalex
 
18 - 27.05.18 - 14:41
(17) >>все это словоблудство

)))
   rphosts
 
19 - 27.05.18 - 14:50
(14) небольшая добавочка, если в списке документы 1 типа можно использовать ВЫРАЗИТЬ ... КАК ...
   xXeNoNx
 
20 - 28.05.18 - 07:52
В 8.3.11 и 8.3.12 не работает пересчет итогов
   xXeNoNx
 
21 - 28.05.18 - 07:53
(20) пардон, не туда


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