|
В обработке с транзакцией и без неё время проведения документов одинаковое.... |
☑ |
0
minsk1s
28.06.19
✎
12:03
|
смысл конструкции такой:
Если ИспользоватьТранзакцию=Истина Тогда
НачатьТранзакцию();
КонецЕсли;
МногоКодаСРазниымиУловиями...
ЗапросПоРегистру...
Пока ВыборкаДетали.Следующий() Цикл
элементыФормы.Индикатор1.Значение=тек; тек=тек+1;
ВыбДок=ВыборкаДетали.Регистратор.ПолучитьОбъект();
Попытка
Состояние("проведение..."+сокрЛП(ВыборкаДетали.Регистратор));
ВыбДок.Записать(РежимЗаписиДокумента.Проведение);
Исключение
Состояние("Невозможно провести "+сокрЛП(ВыборкаДетали.Регистратор), СтатусСообщения.Важное);
КонецПопытки;
КонецЦикла;
//Сообщить(ТранзакцияАктивна());
Если ИспользоватьТранзакцию=Истина Тогда
ЗафиксироватьТранзакцию();
КонецЕсли;
Вот что по времени получается:
старт с транзакцией = 28.06.2019 11:55:46
финиш с транзакцией = 28.06.2019 11:58:53
разница с транзакцией = 187 секунд
старт без транзакции = 28.06.2019 11:59:51
финиш без транзакции = 28.06.2019 12:02:59
разница без транзакции = 188 секунд
что-то туплю... почему разницы нет...
|
|
1
Cyberhawk
28.06.19
✎
12:04
|
Неправильно у тебя исключение внутри транзакции сделано. Словишь ошибку "В данной транзакции уже происходили ошибки" с таким подходом.
|
|
2
Cyberhawk
28.06.19
✎
12:05
|
А разницу в файловой базе пади замеряешь
|
|
3
Fragster
гуру
28.06.19
✎
12:05
|
транзакция нужна не для ускорения, если что
|
|
4
minsk1s
28.06.19
✎
12:06
|
Cyberhawk, ты бог)) точно. не ту копию стартонул))))
|
|
5
minsk1s
28.06.19
✎
12:07
|
Fragster, если что для ускорения тоже.
|
|
6
palsergeich
28.06.19
✎
12:15
|
А элементов сколько?
Транзакционный кеш не бесплатный.
Выше какого то числа элементов с общей транзакцией даже больше будет.
Обычно сбрасывают каждые 1000.
|
|
7
Cyberhawk
28.06.19
✎
12:17
|
(3) Сайд эффект такой. Даже в обработке обмена КД2 флажок есть :)
|
|
8
Fragster
гуру
02.07.19
✎
18:50
|
(5) для ускорения обеспечивается неблокирующее параллельное проведение и тогда получаем ускорение на порядок (с полной утилизацией ресурсов серверов) вместо жалких процентов ценою помех другим пользователям.
|
|
9
hhhh
02.07.19
✎
21:41
|
(5) если до 100 документов в транзакции будет проигрыш, где-то около 1000 выигрыш, если больше, например тысяч 20 документов в транзакции опять проигрыш.
|
|
10
H A D G E H O G s
02.07.19
✎
21:43
|
Лучше 1 CommitTransaction, чем 10000 Commit-ов, которые прищемят даже быстрый ssd
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший