Имя: Пароль:
1C
1С v8
Условия при объединении. Где их располагать в условиях объединения или в ГДЕ?
,
0 Puzoter
 
22.03.16
11:03
Собсно сабж. Как я понимаю, лучше сделать ограничения в условиях объединения, чтобы отсеять ненужные записи на этапе объединения. Может есть какие-то нюансы?
1 Любопытная
 
22.03.16
11:04
Всегда есть шанс отсеять лишнего и ничего не получить на выходе
2 HRom
 
22.03.16
11:04
Мне кажется в условиях объединения оперативнее работает.
3 Провинциальный 1сник
 
22.03.16
11:08
(2) А это как повезет. Оптимизатор запросов - штука темная и малопредсказуемая. Полную гарантию могут дать только временные таблицы с индексируемыми полями связи.
4 ObjectRelation Model
 
22.03.16
11:15
в объединениях (UNION) нет условий, есть в соединениях (JOIN)
5 Puzoter
 
22.03.16
11:16
(4) Да, я имел в виду соединения
6 ДенисЧ
 
22.03.16
11:18
(5) А какие именно?
пример давай...
7 Puzoter
 
22.03.16
11:19
Есть версия, что условия в соединениях лучше делать только по проинксированным полям
8 Любопытная
 
22.03.16
11:20
(7) по каким полям?
9 Puzoter
 
22.03.16
11:20
(7) Не могу скопировать. В общем одно условие по проиндеквированному полю ВТ, и еще штук пять про прочим полям и просто условий на соответствие поля параметру
10 Puzoter
 
22.03.16
11:21
(8) полям с индексами
11 Любопытная
 
22.03.16
11:22
(9) не проще отобрать в ВТ сразу только то, что нужно?
12 Puzoter
 
22.03.16
11:22
+(10) Непривычная клава на ноуте
13 ObjectRelation Model
 
22.03.16
11:22
Всё зависит от типа соединения и желаемого результата
14 Puzoter
 
22.03.16
11:29
(11) Может и проще, но вопрос не об этом.
15 Puzoter
 
22.03.16
11:30
Ну я наверно понял - каких-то отдельных рекомендаций нет, надо смотреть конкретный запрос в профайлере.
16 Михаил 1С
 
22.03.16
11:43
(0) Главное зри вот что: Если у тебя полное внутреннее соединение, то часть его условий можно поместить в Где (но соединение должно все-таки быть хоть с одним условием).

А вот если соединение левое или правое, то нельзя его условия помещать в Где! А то у тебя вообще не будет строки, не удовлетворяющей этому условию, а она должна быть по части полей.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.