|
"Левое" Левое соединение в запросе | ☑ | ||
|---|---|---|---|---|
|
0
Ц_У
20.10.08
✎
12:04
|
"ВЫБРАТЬ
| РеализацияТоваровУслуг.Дата, | РеализацияТоваровУслуг.Ссылка, | РеализацияТоваровУслуг.Представление, | РеализацияТоваровУслуг.Контрагент КАК Контрагент, | РеализацияТоваровУслуг.Контрагент.родитель КАК родитель, | РеализацияТоваровУслугТовары.Номенклатура, | РеализацияТоваровУслугТовары.Номенклатура.родитель КАК родительНОМ, | РеализацияТоваровУслугТовары.Цена КАК Цена, | РеализацияТоваровУслугТовары.Сумма КАК Сумма, | РеализацияТоваровУслугТовары.Количество КАК Количество, | РеализацияТоваровУслуг.КурсВзаиморасчетов |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары | ЛЕВОЕ СОЕДИНЕНИЕ Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | ПО РеализацияТоваровУслугТовары.Ссылка = РеализацияТоваровУслуг.Ссылка |ГДЕ | РеализацияТоваровУслуг.Дата МЕЖДУ &дата1 И &дата2" ; Левое соединение тут вообще зачем-то нужно или нет, просто писал спец высокого уровня, а меня сомнения замучали - себе доверять перестал =)) |
|||
|
1
Cheater
20.10.08
✎
12:07
|
(0) а что тебя не устраивает?
|
|||
|
2
Immortal
20.10.08
✎
12:07
|
неа
ошибка здесь. зачем левый джойн если он превращается в полный условием в ГДЕ? |
|||
|
3
Cheater
20.10.08
✎
12:11
|
хочешь на правое поменять и сомнения гложат?
|
|||
|
4
Said_We
20.10.08
✎
12:11
|
(0) Зачем прицеплять левым к запросу по табличной части, запрос по самому объекту?
Тут вообще левое соединение не нужно. ВЫБРАТЬ | РеализацияТоваровУслугТовары.Ссылка.Дата, | РеализацияТоваровУслугТовары.Ссылка, | РеализацияТоваровУслугТовары.Ссылка.Представление, | РеализацияТоваровУслугТовары.Ссылка.Контрагент КАК Контрагент, | РеализацияТоваровУслугТовары.Ссылка.Контрагент.родитель КАК родитель, | РеализацияТоваровУслугТовары.Номенклатура, | РеализацияТоваровУслугТовары.Номенклатура.родитель КАК родительНОМ, | РеализацияТоваровУслугТовары.Цена КАК Цена, | РеализацияТоваровУслугТовары.Сумма КАК Сумма, | РеализацияТоваровУслугТовары.Количество КАК Количество, | РеализацияТоваровУслугТовары.Ссылка.КурсВзаиморасчетов |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары |ГДЕ | РеализацияТоваровУслуг.Ссылка.Дата МЕЖДУ &дата1 И &дата2" |
|||
|
5
Ц_У
20.10.08
✎
12:20
|
это код от "Рарус"а =)
(4) я так же делаю всегда :) |
|||
|
6
Валерыч
20.10.08
✎
12:25
|
Проверено, работет быстрее нежели (4). Замерял производительность данных запросов в цикле.
|
|||
|
7
Ц_У
20.10.08
✎
12:30
|
(6) Сомнительный прирост производительности, в лучшем случае будет одинаково, да и в худшем тож самое =)
разницы то никакой |
|||
|
8
ks_83
20.10.08
✎
12:46
|
(6) Почему оно должно быстрее работать? Есть какое-то обоснование, кроме замера? ИМХО (0) это масло масленое.
|
|||
|
9
Пуд
20.10.08
✎
12:47
|
(0) И зачем левое соединение?Внутреннее не устроило что ли...
|
|||
|
10
Широкий
20.10.08
✎
13:01
|
(6) Да лано.. лишнее левой соединение и вдруг стало работать быстрее?
|
|||
|
11
Широкий
20.10.08
✎
13:04
|
(0) Возвможно прог ошибся и нужно было сделать правое соединение.. Смысл - получить шапку и табличную часть (если она существует)
|
|||
|
12
YauheniL
20.10.08
✎
13:15
|
(8) Потому что, там дополнительно отбор по ссылке. ИМХО, секция где бесполезна. Т.к. соединение по ссылке сужает область поиска до одного документа
|
|||
|
13
Cheater
20.10.08
✎
13:23
|
(12) да ну? :)
|
|||
|
14
YauheniL
20.10.08
✎
13:28
|
(13) Виноват, ошибся. Видно, пора на обед идти
|
|||
|
15
Said_We
20.10.08
✎
14:03
|
(5) Ну тогда как то так что ли:
ВЫБРАТЬ | РеализацияТоваровУслуг.Дата, | РеализацияТоваровУслуг.Ссылка, | РеализацияТоваровУслуг.Представление, | РеализацияТоваровУслуг.Контрагент КАК Контрагент, | РеализацияТоваровУслуг.Контрагент.родитель КАК родитель, | РеализацияТоваровУслугТовары.Номенклатура, | РеализацияТоваровУслугТовары.Номенклатура.родитель КАК родительНОМ, | РеализацияТоваровУслугТовары.Цена КАК Цена, | РеализацияТоваровУслугТовары.Сумма КАК Сумма, | РеализацияТоваровУслугТовары.Количество КАК Количество, | РеализацияТоваровУслуг.КурсВзаиморасчетов |ИЗ | Документ.РеализацияТоваровУслуг.Товары КАК РеализацияТоваровУслугТовары | ЛЕВОЕ СОЕДИНЕНИЕ | (ВЫБРАТЬ | Документ.РеализацияТоваровУслуг КАК РеализацияТоваровУслуг | ГДЕ | РеализацияТоваровУслуг.Дата МЕЖДУ &дата1 И &дата2) КАК РеализацияТоваровУслуг | ПО РеализацияТоваровУслугТовары.Ссылка = РеализацияТоваровУслуг.Ссылка А левое правое или еще какое без разницы в данном случае. Результат будет один и тот же и скорость выполнения тоже. |
|||
|
16
rasswet
20.10.08
✎
14:54
|
а чем (4) плохо? много короче))
|
|||
|
17
Ц_У
20.10.08
✎
14:59
|
(16)в том то и дело что по барабану.
|
|||
|
18
Said_We
20.10.08
✎
15:40
|
(17) Теоретически в (15) должЁн работать быстрее чем в (0). Декартово перемножается (JOIN) две таблице и одна из них за счет условия получается меньшей или равной.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |