|
v7: Регистр, Выбрать и Получить движения, поясните длительность выполнения операций?
| ☑ |
0
aka AMIGO
29.09.11
✎
09:20
|
БД ДБФ, замеряю производительность работы отчета
реперные точки:
Рег.УстановитьЗначениеФильтра("Товар", Выбтовар, 1); обращение 1 раз, 0.00%
Рег.ВыбратьДвижения() - обращение 1 раз, 0.02%
Пока Рег.ПолучитьДвижение()=1 Цикл - обращение 8 раз, 77.24%
Казалось-бы, выбрать движения - гораздо более долгая операция, чем эти движения уже из выбранного получить..
в БД сейчас 15 человек, отчет зависает на получении движений надолго.. минут на 5
может быть, что-нибудь посоветуете, как ускорить, или заменить этот долгоиграющий оператор?
|
|
1
zak555
29.09.11
✎
09:21
|
фильтр на фирму где ?
|
|
2
aka AMIGO
29.09.11
✎
09:21
|
(1) конфа практически самодельная, фирмы в регистре нет
|
|
3
zak555
29.09.11
✎
09:29
|
Рег.УстановитьЗначениеФильтра("Товар", Выбтовар, 2); ?
|
|
4
aka AMIGO
29.09.11
✎
09:31
|
(3) - 2 - это я знаю, для списка значений, или группы.. у меня один товар..
|
|
5
zak555
29.09.11
✎
09:31
|
(4) это отбор
|
|
6
aka AMIGO
29.09.11
✎
09:32
|
(5) уговорил.. попробую..
|
|
7
zak555
29.09.11
✎
09:32
|
хотя почему не запрос ?
|
|
8
aka AMIGO
29.09.11
✎
09:34
|
(7) запрос я тоже попробую.. счас пока "2"-ку мучаю..
|
|
9
Cthulhu
29.09.11
✎
10:02
|
Если фильтр задан по первым измерениям без пропусков - 1с-ина выборку делает по индексу. Иначе - перебором записей.
Поэтому - есть такой прием: ликвидировать пробелы в фильре в порядке следования измерений; гораздо быстрее получается наложить несколько раз фильтры БЕЗ пропусков измерений и выбрать движение, чем накладывать один раз фильтр с пропуском измерений (в порядке их следования). НАМНОГО быстрее!
прим.: то же замечание касается и получения сводных остатков, есичо.
|
|
10
1Сергей
29.09.11
✎
10:54
|
(9) спс за инфу
|
|
11
aka AMIGO
29.09.11
✎
11:31
|
извините за таймаут, ГБ выдернула с места..
(9) - выигрыш в 2 раза.. это существенно, так что спасибо за совет!
|
|