Имя: Пароль:
1C
1С v8
Запрос: как лучше - через точку или левое соединение?
0 ixijixi
 
23.11.12
15:51
Что работает быстрее?
1 shuhard
 
23.11.12
15:52
(0) на сиквеле всё равно будет левое соединение
2 IamAlexy
 
23.11.12
15:53
как лучше проехать
по прямой или сбоку?
3 TormozIT
 
гуру
23.11.12
15:56
Левое соединение - более прозрачно и надежно. Через точку не всегда будет работать как ожидается, т.е. в сложных случаях можно получить не такой запрос как ожидается.
4 Нуф-Нуф
 
23.11.12
16:02
если речь про объект составного типа - то лучше левое.
5 МихаилМ
 
23.11.12
16:06
чем ближе с оригинальному скл
тем - предсказуемей интепретация в скл.
в 14 и 15 релизах
1с меняла правила интерпретации через точку.
6 acsent
 
23.11.12
16:07
Напомнило рекламу про твикс:
Одни поливают шоколадом вертикально, а другие сверху вниз ...
7 Изучаю1С8
 
23.11.12
16:07
Запросы через точку = восьмерошный быдлокодинг.
8 acsent
 
23.11.12
16:08
(7) Иногда подругому никак. Ведь в запросах не COALESCE
9 Рэйв
 
23.11.12
16:11
Через точку - неявное внутренее соедениение.
Левое  затратнее, имхо
10 H A D G E H O G s
 
23.11.12
16:15
(5) Откуда инфа?
11 acsent
 
23.11.12
16:16
(9) Внутреннее - не может быть!
12 prog2012
 
23.11.12
16:17
(23)замер производительности рулит
твой кеп
13 prog2012
 
23.11.12
16:17
(12)в (0) )))
14 Рэйв
 
23.11.12
16:24
(11)От чего же не может? Ищем ссылку в исходной талице , равную ссылку в искомой. inner join  и есть
15 acsent
 
23.11.12
16:24
(14) а если реквизит не заполнен?
16 H A D G E H O G s
 
23.11.12
16:25
(14) Ерунда полная.
17 Рэйв
 
23.11.12
16:25
(14)Будет искать пустую. Вернет первую найденную
18 H A D G E H O G s
 
23.11.12
16:25
left join будет.
19 acsent
 
23.11.12
16:26
(17) Рано тебе пока скл заниматься ))
20 Нуф-Нуф
 
23.11.12
16:26
что внутреннее что лево однокуйственно.
21 Рэйв
 
23.11.12
16:26
(18)С каких таких? Ты задаешь конктертный параметр поиска. То есть все остальные записи в исходной уже исключаются.
22 H A D G E H O G s
 
модератор
23.11.12
16:26
МихаилМ , откуда у вас информация, что
"в 14 и 15 релизах
1с меняла правила интерпретации через точку"
???
23 Рэйв
 
23.11.12
16:27
(20)Да ну?
24 Нуф-Нуф
 
23.11.12
16:27
(23) посмотри в профайлере
25 Рэйв
 
23.11.12
16:27
а ты смотрел?
26 H A D G E H O G s
 
23.11.12
16:28
ВЫБРАТЬ
   Номенклатура.ВидНоменклатуры.Наименование
ИЗ
   Справочник.Номенклатура КАК Номенклатура


Тоесть, что Left join, что inner join - однокуйственно?
27 Нуф-Нуф
 
23.11.12
16:28
(25) я доверяю интуиции
28 acsent
 
23.11.12
16:28
(22) Если только в 8.1 Было время когда на каждую точку делалось свое соединение. Потом это дело немного оптимизировали. Лишних соединений почти не осталось
29 Рэйв
 
23.11.12
16:29
Это вообще ПОЛНОЕ:-)

Я имел в виду когла конкретную ссылку ищут
30 H A D G E H O G s
 
23.11.12
16:29
Нуф-Нуф я давно рекомендую сменить профессию.
31 acsent
 
23.11.12
16:30
Это вообще ПОЛНОЕ ЖПО. вот как
32 acsent
 
23.11.12
16:30
(29) в этом и есть отличие левого от внутреннего
33 H A D G E H O G s
 
23.11.12
16:30
Теперь я рекомендую сделать тоже самое и Рейву.
34 Нуф-Нуф
 
23.11.12
16:31
(30) что передаст 1С в Скуль в случае левого и в случае внутреннего соединения?
35 Рэйв
 
23.11.12
16:31
(32)Отличие левого от внутренне го в том, что в запрос входит вся левая таблица.А при внутреннем только найденные совпадения.
Нифига себе одно и то же..
36 ixijixi
 
23.11.12
16:32
Или о5 же есть разница сколько точек?

РаботникиОрганизаций.Сотрудник.Физлицо.Пол VS ФизическиеЛица.Пол
37 H A D G E H O G s
 
23.11.12
16:32
(26) В SQL выглядит так.

SELECT TOP 1
T2._Description
FROM _Reference160 T1 WITH(NOLOCK)
LEFT OUTER JOIN _Reference71 T2 WITH(NOLOCK)
ON T1._Fld2490RRef = T2._IDRRef
38 acsent
 
23.11.12
16:33
Объясните лучше что значит OUTER?
39 H A D G E H O G s
 
23.11.12
16:33
(34) Так и передаст.
Левое и Внутреннее.
40 prog2012
 
23.11.12
16:34
к чему этот холивал
я бы почистил процедурный кеш и сделал бы два цикла по 100500 в каждом из которых выполнял запрос (просто один иногда исполняется исчезающе мало но это исчезающе мало будет всё равно на несколько порядков больше другого)
и сравнил

внутреннее соединение практически не применяется в 1С, так как логика бизнес задач обычно диктует именно левое (правое) соединение и разделение по null или not null результата запроса
41 H A D G E H O G s
 
23.11.12
16:34
(40)
"внутреннее соединение практически не применяется в 1С, так как логика бизнес задач обычно диктует именно левое (правое) соединение и разделение по null или not null результата запроса"

Бред какой-то
42 H A D G E H O G s
 
23.11.12
16:35
Люди едят бананы, так как есть апельсины нельзя, ибо они оранжевые.
43 H A D G E H O G s
 
23.11.12
16:35
(38) ХЗ
44 ixijixi
 
23.11.12
16:36
Таки сделает кто-нибудь замер производительности или так вива холивар?!!  =))
46 acsent
 
23.11.12
16:36
(44) зачем замер? когда развренутого запроса достаточно
47 H A D G E H O G s
 
модератор
23.11.12
16:36
Все ерунда и возня.
Мне интересен МихаилМ с своими правилами интерпретации.
48 Рэйв
 
23.11.12
16:37
(40)при постройке запросов оно конечно почти никогда.
Но когда ты берешь через точку ссылку,сисиема с этой ссйлкой топает в таблицу и ищет по ней именно Внутренним.
49 Рэйв
 
23.11.12
16:37
потому что левым было бы глупо когда ссвлка одна и известна
50 Рэйв
 
23.11.12
16:38
да и правым тоже..Нах нам все остальное
51 Chin
 
23.11.12
16:40
(38) "Внешнее"...
52 H A D G E H O G s
 
23.11.12
16:42
(48) Нет.
53 Рэйв
 
23.11.12
16:43
ладно, чую спор бесполезен:-)
54 GLazNik
 
23.11.12
16:43
(50) правое точно нет. а вот левое и внутреннее в данном случае без разницы. если конечно в базе ссылочная целостность не нарушена.
Кстати а как там "с через точку" и поле составного типа. Например поле может быть и справочником и документом, а обращаемся к коду?
55 acsent
 
23.11.12
16:44
(51) Только я имел ввиду различия left outer и left, а потом понял - это это синонимы просто
56 H A D G E H O G s
 
23.11.12
16:44
(53)
SELECT
T1._IDRRef,
T1._Version,
T1._Marked,
T1._IsMetadata,
T1._ParentIDRRef,
T1._Folder,
T1._Code,
T1._Description,
T1._Fld2480,
T1._Fld2481RRef,
T1._Fld2482,
T1._Fld2483,
T1._Fld2484,
T1._Fld2485,
T1._Fld2486,
T1._Fld2487,
T1._Fld2488,
T1._Fld2489RRef,
T1._Fld2490RRef,
T1._Fld2491RRef,
T1._Fld2492RRef,
T1._Fld2493,
T1._Fld2494,
T1._Fld2495RRef,
T1._Fld2496,
T1._Fld2497RRef,
T1._Fld2498RRef,
T1._Fld2499RRef,
T1._Fld2500RRef,
T1._Fld2501RRef,
T1._Fld2502RRef,
T1._Fld2503RRef,
T1._Fld2504RRef,
T1._Fld2505RRef,
T1._Fld2506,
T1._Fld2507,
T1._Fld2508,
T1._Fld2509,
T1._Fld2510,
T1._Fld2511RRef,
T1._Fld2512RRef,
T1._Fld2513RRef,
T1._Fld2514RRef,
T1._Fld2515,
T1._Fld2516,
T1._Fld2517,
T1._Fld2518RRef,
T1._Fld2519RRef,
T1._Fld2520RRef,
T1._Fld2521RRef,
T1._Fld2522_TYPE,
T1._Fld2522_RTRef,
T1._Fld2522_RRRef,
T1._Fld2523_TYPE,
T1._Fld2523_RTRef,
T1._Fld2523_RRRef,
T1._Fld2524,
T1._Fld2525,
T1._Fld2526,
T1._Fld2527,
T1._Fld2528RRef,
T1._Fld2529RRef,
T1._Fld2530RRef,
T1._Fld2531_TYPE,
T1._Fld2531_S,
T1._Fld2531_RRRef,
T1._Fld2532RRef,
T1._Fld2533RRef,
T1._Fld2534,
T1._Fld2535RRef,
T1._Fld2536RRef,
T1._Fld2537RRef,
T1._Fld24058RRef,
T1._Fld24059_TYPE,
T1._Fld24059_RTRef,
T1._Fld24059_RRRef,
0 AS SDBL_IDENTITY
FROM _Reference160 T1
WHERE T1._IDRRef = P1',N'P1 varbinary(16)',0xAC236C74D3345FA8460E8897012FF3A7
57 H A D G E H O G s
 
23.11.12
16:45
Откуда вы только такие беретесь.
58 acsent
 
23.11.12
16:45
(54) Несколько левых делается и коалиск либо кэйс
59 МихаилМ
 
23.11.12
16:45
to H A D G E H O G s

информация с этого форума.

ищите в ветках обсуждениях релизов
60 Chin
 
23.11.12
16:45
(53) Ты внес нечто новое в понимание запросов 1С... Я всегда думал что через точку - это аналог "Левого внешнего соединения" - теперь придется все запросы переписывать... :(:(:(

Мир рушится! :):):)
61 H A D G E H O G s
 
23.11.12
16:46
(59) Проверенная инфа или ББС ?
62 acsent
 
23.11.12
16:49
ббс конечно же
63 prog2012
 
23.11.12
16:54
а я склонен доверять МихаилМ
обоснованно, его мнение иногда я проверял на практите
скорее всего он прав
и даже в отрыве от контекста не вижу причины сомневаться в том что 1С переписывает движок
64 H A D G E H O G s
 
23.11.12
16:56
А я вот не склонен доверять МихаилМ.
Я пока не видел хороших, годных ответов от него, хотя, вроде как позиционирует себя специалистом.
65 prog2012
 
23.11.12
16:58
(64)наверно если хорошо попросить то он ответит что он там выловил за изменения ну или пруфлинк даст
66 H A D G E H O G s
 
23.11.12
16:59
(65) Наверное, когда жалкие людишки сомневаются в светоче знаний - можно кинуть им и пруф, пусть подавятся, наконец...
67 GLazNik
 
23.11.12
17:00
+(54) чет да... если учесть пустые значения и составные типы, то однозначно левое.
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс