Имя: Пароль:
1C
 
Внутреннее соединение 2 наборов в СКД
,
0 Franchiser
 
гуру
20.09.18
15:52
Простите как это работает?
Предположительно есть 2 набора (запросы), пользователь устанавливает фильтр на поля второго набора, т.е. СКД должно сделать внутреннее соединение наборов.
Вопрос: чему равно время выполнения? Выполнится полностью запрос набора 1, запрос набора 2, внутреннее соединение.
Или запрос набора 2, запрос набора 1 с учётом внутреннего соединения с набором 2?
1 AlvlSpb
 
20.09.18
16:03
(0) https://helpme1c.ru/sistema-komponovki-dannyx-1s-8-3-dlya-nachinayushhix-urok-7 Смотри в самом конце, где публикуют результаты выполнения, сразу все станет понятным
2 Franchiser
 
гуру
21.09.18
00:56
(1) ответа там не нашел. Вопрос в следующем: предположим в первом наборе 2 000 000 000 записей, а во втором 100 записей. Насколько оптимально реализовать эту задачу 2 наборами? Будет ли запрос с внутренним соединением работать оптимальнее?
Если же делать запросом, мне нужно, чтобы при одних условиях было внутреннее соединение, при других условиях левое соединение, но это влечет подмену текста запроса в схеме СКД в зависимости от анализа отборов и быстрых отборов.
4 Fram
 
21.09.18
01:38
(2) например?
ЛЕВОЕ легко превращается во внутреннее, если наложить условие
5 Franchiser
 
гуру
21.09.18
01:47
Что быстрее внутреннее соединение в запросе или соединение наборов в СКД с условием на поле второго набора на уровне отчета для случая когда в первом наборе огромное количество записей, а во втором наборе мало записей?
6 Лодырь
 
21.09.18
05:20
(5) Второй набор параметризован по значениям первого? Например курс валют из второго по датам из первого?
7 Franchiser
 
гуру
21.09.18
09:43
Нет,
В первом наборе данные регистра накопления, во втором наборе контрагенты. Пользователь устанавливает фильтр, например, на поле ИНН из набора 2. Связь наборов по коду контрагента.
8 Cyberhawk
 
21.09.18
09:46
Давно бы посмотрел уже в ИР результирующий запрос компоновки
9 Franchiser
 
гуру
21.09.18
09:50
(8) связь наборов влияет на результирующий запрос результата компоновки? Как я понимаю компоновки происходит на сервере приложений. А оптимизированные СКД запросы передаются по отдельности на SQL.
10 Franchiser
 
гуру
21.09.18
09:55
(8) как увидеть результирующий запрос в ИР? Там же будет 2 отдельных запроса по каждому набору.
11 АнализДанных
 
21.09.18
10:01
(0) Наборы данных всегда соединяются левым соединением, кроме случаев, когда отбор накладывается на поле присутствующее в двух таблицах, в этом случае связь становиться внутренней.
12 Cyberhawk
 
21.09.18
10:51
(11) Не должно поле "присутствовать в двух таблицах", достаточно его присутствия в одной. И это касается только если отбор глобальный (на уровне группировки "Отчет").
13 Cyberhawk
 
21.09.18
10:51
(10) Кастую TormozIT в ветку
14 TormozIT
 
гуру
21.09.18
10:55
(10) Одного результирующего запроса не будет. Будут результирующие запросы для каждого набора данных с отбором по параметрам соединения. Они будут выполняться от 1 до многих раз в зависимости от порядка соединения их наборов данных.

Посмотреть все выполненные запросы можно будет только через техножурнал (в ИР включить трассировку запросов).
15 Franchiser
 
гуру
21.09.18
11:10
(14) если два соединённых наборов без передачи данных во второй набор через параметр, то будет не меньше 2 запросов?
16 Franchiser
 
гуру
21.09.18
11:14
Вообще у меня цель отфильтровать по ИНН контрагента, полю присутствующем только во втором наборе. Будет ли этот отбор работать быстро, как это работает в если соединять в запросе?
Ошибка? Это не ошибка, это системная функция.