|
Запрос будет перебирать таблицу оборотов или нет? | ☑ | ||
---|---|---|---|---|
0
ДайтеДайте Сказать
03.07.12
✎
16:59
|
РегистрНакопления.РасчетыПоКотам.Обороты(
&НачПериода, &КонПериода, Регистратор, ДоговорПоНедвижимости = &ДоговорПоНедвижимости И ДоговорПоНедвижимости.ЗаказПокупателя = ДокументУНФ И &ФормироватьСторно) В случае, если параметр виртуальной таблицы &ФормироватьСторно = Ложь, то запрос, естественно, ничего не выдает. В этом случае запрос перебирает всю таблицу оборотов или нет? |
|||
1
Ненавижу 1С
гуру
03.07.12
✎
16:59
|
каша в голове, параметры не для перебора, а для формирования
|
|||
2
LAAry
03.07.12
✎
17:02
|
Запрос честно отработает свой хлеб, попробовав в виртуальной таблице отобрать данные.
|
|||
3
ДайтеДайте Сказать
03.07.12
✎
17:02
|
(1) ты не понял.
У меня пакет запросов и надо, чтобы в одном случае, запрос ничего не выдавал, а в другом работал штатно. Бросил это на параметр &ФормироватьСторно. Соответственно, если &ФормироватьСторно = Ложь, результат запроса пустой. Но возникает вопрос, запрос молотит таблицу или сразу понимает, что из таблицы брать не чего с таким параметром? |
|||
4
Fragster
гуру
03.07.12
✎
17:02
|
скуль - он умный, сразу вернет пусто
|
|||
5
LAAry
03.07.12
✎
17:03
|
Котов в штате держите? Или в производстве используете?
|
|||
6
ДайтеДайте Сказать
03.07.12
✎
17:04
|
(2) т.е. запрос честно переберет всю таблицу оборотов, не смотря на то, что результат вычисления выражения
(ДоговорПоНедвижимости = &ДоговорПоНедвижимости И ДоговорПоНедвижимости.ЗаказПокупателя = ДокументУНФ И &ФормироватьСторно) все равно будет ложь? |
|||
7
ДайтеДайте Сказать
03.07.12
✎
17:05
|
(4) уверен?
|
|||
8
LAAry
03.07.12
✎
17:05
|
(4) говорит, что я не прав.
|
|||
9
Fragster
гуру
03.07.12
✎
17:05
|
(6)->(4), за файловый движок не скажу, но по логике - тоже
|
|||
10
LAAry
03.07.12
✎
17:06
|
(7) проверь. Запусти замер и посмотри скорость выполнения.
|
|||
11
Fragster
гуру
03.07.12
✎
17:08
|
ну, в 100500м вложенном запросе оптимизатор может и скажет ёк, но если на верхнем уровне - то всё работает, как в (4)
|
|||
12
ДайтеДайте Сказать
03.07.12
✎
17:12
|
(10) разница по времени выполнения очевидна. Естественно, что с параметром &ФормироватьСторно = Ложь выполняется быстрее :)
|
|||
13
LAAry
03.07.12
✎
17:14
|
(12) не то меряешь. Померь с параметром Ложь и без запроса вообще.
|
|||
14
ДайтеДайте Сказать
03.07.12
✎
17:15
|
(13) не понимаю что ты предлагаешь
|
|||
15
LAAry
03.07.12
✎
17:19
|
Скорость выполнения запроса с выбрасыванием необрабатываемой части равна скорости выполнения запроса с параметром = Ложь?
|
|||
16
ДайтеДайте Сказать
03.07.12
✎
17:20
|
(15) как это измерить?
|
|||
17
LAAry
03.07.12
✎
17:21
|
Точку останова до и после "запрос.выполнить()" по первой точке включаешь замер производительности. по 2-й выключаешь.
|
|||
18
ДайтеДайте Сказать
03.07.12
✎
17:23
|
(17) это ни о чем не говорит.
Запрос уходит в скуль на сервер, и я не знаю, скуль будет молотить таблицу или сразу вернет пустой результат. |
|||
19
LAAry
03.07.12
✎
17:26
|
И в первом случае скорость выполнения будет меньше по сравнению с выброшенной частью запроса, чем во втором...
|
|||
20
Никола_
Питерский 03.07.12
✎
21:35
|
А если просто запихнуть в ГДЕ ? нах в параметры то ?
|
|||
21
acsent
03.07.12
✎
22:23
|
смотри план выполнения на скуле
|
|||
22
FIXXXL
04.07.12
✎
00:13
|
(1) согласен
ибо хер пойми чего ты исчешь |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |