Имя: Пароль:
1C
 
Как правильно соединить две ТЧ документа?
0 1CSharp
 
23.01.19
13:32
1. Первый вариант 50% (1)
2. Свой вариант 50% (1)
3. Второй вариант 0% (0)
Всего мнений: 2

1.
Выбрать А.Кол, Б.Кол
ИЗ Документ.Док.ТЧ1 КАК А
  ПОЛНОЕ СОЕДИНЕНИЕ Документ.Док.ТЧ2 КАК Б
    ПО А.Ссылка = &Ссылка И Б.Ссылка = &Ссылка


2.
Выбрать А.Кол, Б.Кол
ИЗ Документ.Док.ТЧ1 КАК А
  ЛЕВОЕ СОЕДИНЕНИЕ Документ.Док.ТЧ2 КАК Б
    ПО А.Ссылка = Б.Ссылка
ГДЕ А.Ссылка = &Ссылка


Всё норм с этими запросами? Или можно лучше?
1 OldCondom
 
23.01.19
13:34
Что-то знакомое... Кажется на это место есть еще один соискатель)

Соединить две ТЧ лучше через ОБЪЕДИНИТЬ ВСЕ=)
2 1CSharp
 
23.01.19
13:35
(1) Нужно соединить, а не объединить
Вопрос возник спонтанно
3 1CSharp
 
23.01.19
13:36
Ну я бы всё в условие объединения запихал для надежности, но хочется верить, что оптимизатор прожуёт и второй вариант.

Первый вариант
4 ДенисЧ
 
23.01.19
13:39
В первом случае ты получишь все комбинации строк, в том числе и те, которые есть в Б, но нет в А.
Во втором - только А
5 GANR
 
23.01.19
13:41
(3) Я такое сделал когда спеца по платформе сдавал - чуть не выгнали. Лучше (1)
6 catena
 
23.01.19
13:45
(0)Полное и левое соединение дадут разные результаты.
7 1CSharp
 
23.01.19
13:55
(4) (6)
Да, я понимаю

Вопрос про отбор по Ссылке и индексы скорее

(5) См (2)
Условие на соединение я опустил для упрощения, спец по платформе имеется (:
8 1CSharp
 
23.01.19
13:56
Ладно, оба варианта корректны? Или в 1/2 можно улучшить отбор по Ссылке?
9 ДенисЧ
 
23.01.19
13:58
(8) Лучше все условия в условие соединения пихать. Меньше выборка будет
10 1CSharp
 
23.01.19
14:00
(9) Ну вот я за это и переживаю. Тип получается он сначала соединит, получит мильённую таблицу, а только потом отбор накладывать будет? Неужели оптимизатор это не починит?
11 ДенисЧ
 
23.01.19
14:01
(10) Нет, скорее всего не починит
12 1CSharp
 
23.01.19
14:05
(11) Понял, спасибо.
В очередной раз пришли к выводу, что лучше перестраховаться самому
13 unregistered
 
23.01.19
14:05
Результат у этих запросов будет разным. Поэтому правильного ответа на поставленный вопрос нет.
Правильным будет тот, который выдаст правильный результат.

(7) Вопрос про отбор по Ссылке и индексы скорее.

Вопросы о сферических конях в вакууме не имеют никакого практического смысла. В каждом конкретном случае правильный ответ будет разным. Общего идеального решения не существует. Можно ли учитывать рекомендации типа (9), но опять таки их применимость будет зависеть от конкретного случая.

Свой вариант
14 1CSharp
 
23.01.19
14:11
(13) Т.е. ты предлагаешь каждый раз смотреть план запроса?) Или же делать это только когда начинают появляться проблемы с производительностью?
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан