|
Можно ли не использовать выразить с оператором ССЫЛКА в запросе? | ☑ | ||
---|---|---|---|---|
0
DTX 4th
09.08.16
✎
16:36
|
Можно ли писать так?
Или всё равно надо добавить ВЫРАЗИТЬ?
|
|||
1
lubitelxml
09.08.16
✎
16:38
|
а самому попробовать в консоле религия не позволяет?
|
|||
2
DTX 4th
09.08.16
✎
16:39
|
(1) У тебя есть консоль, которая показывает план запроса?
|
|||
3
polosov
09.08.16
✎
16:39
|
Это какой-то джедайский способ избежать сканирования таблиц чтоле?
|
|||
4
DTX 4th
09.08.16
✎
16:41
|
(2) Избежать множества соединений
|
|||
5
polosov
09.08.16
✎
16:44
|
"И ВЫРАЗИТЬ(А.Регистратор КАК Документ.ИмяДокумента).Дата = &Дата" - вот это что-то из области "а власти скрывают"
|
|||
6
DTX 4th
09.08.16
✎
16:49
|
(5) Да вроде не скрывают.
https://its.1c.ru/db/metod8dev#content:5842:hdoc:dot_after_component_type |
|||
7
youalex
09.08.16
✎
16:50
|
(0) В регистре поле Период - отличается от даты регистратора?
По теме - условие ССЫЛКА Документ.ИмяДокумента - не уменьшит количество прицепляемых таблиц |
|||
8
DTX 4th
09.08.16
✎
16:51
|
(7) Отличается. В шапке запрос абстрактный.
Т.е. всё-таки нужно использовать второй вариант? |
|||
9
youalex
09.08.16
✎
16:51
|
(7) + а вообще, вместо ВЫРАЗИТЬ - можно явно таблицу документов прицепить, Внутренним соединением.
|
|||
10
polosov
09.08.16
✎
16:52
|
(6) Нда, не пользовался таким.
|
|||
11
DTX 4th
09.08.16
✎
16:54
|
Осталось понять, будет ли достаточно одного условия с ВЫРАЗИТЬ. Т.е. можно ли опустить ССЫЛКА?
ГДЕ
|
|||
12
aleks_default
09.08.16
✎
16:54
|
(8) Второй вариант, только условие на ССЫЛКА не нужно
|
|||
13
polosov
09.08.16
✎
16:55
|
+(10) Ну ив секции ГДЕ оно как-то бессмысленно.
Если запрос с соединениями, то надо в соединениях прописывать. |
|||
14
scanduta
09.08.16
✎
17:14
|
Если не использовать выразить то производительность будет намного ниже. Правильный вариант второй
|
|||
15
hitodom
09.08.16
✎
17:27
|
чтоб наверняка сделай внутреннее соединение
|
|||
16
polosov
09.08.16
✎
17:47
|
Проверил в профайлере скуля, все равно много лефт джоинов, если
ВЫРАЗИТЬ(А.Регистратор КАК Документ.ИмяДокумента).Дата = &Дата |
|||
17
aleks_default
09.08.16
✎
17:49
|
(16) Надо ВЫПРАЖАТЬ везде где упоминается Регистратор, не только в условии, но и в выборке полей.
|
|||
18
polosov
09.08.16
✎
17:53
|
(17) Ну да, тогда красивый план
|
|||
19
youalex
10.08.16
✎
15:14
|
(17) видимо, из-за представления?
|
|||
20
aleks_default
10.08.16
✎
16:42
|
(19) из-за составного типа
|
|||
21
youalex
10.08.16
✎
17:05
|
(20) в условии ГДЕ Регистратор = &Регистратор - выражать не нужно. Выражать нужно, где есть неявное соединение по этому полю (точка) в условии - или в выбранных полях.
Я предположил, что неявные соединения, может порождать ф-ия Представление(), или типа поле ".Представление", для составного типа, конечно. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |