Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

В обработке с транзакцией и без неё время проведения документов одинаковое....

В обработке с транзакцией и без неё время проведения документов одинаковое....
Я
   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 секунд


что-то туплю... почему разницы нет...
 
 
   Cyberhawk
 
1 - 28.06.19 - 12:04
Неправильно у тебя исключение внутри транзакции сделано. Словишь ошибку "В данной транзакции уже происходили ошибки" с таким подходом.
   Cyberhawk
 
2 - 28.06.19 - 12:05
А разницу в файловой базе пади замеряешь
   Fragster
 
3 - 28.06.19 - 12:05
транзакция нужна не для ускорения, если что
   minsk1s
 
4 - 28.06.19 - 12:06
Cyberhawk, ты бог)) точно. не ту копию стартонул))))
   minsk1s
 
5 - 28.06.19 - 12:07
Fragster, если что для ускорения тоже.
   palsergeich
 
6 - 28.06.19 - 12:15
А элементов сколько?
Транзакционный кеш не бесплатный.
Выше какого то числа элементов с общей транзакцией даже больше будет.
Обычно сбрасывают каждые 1000.
   Cyberhawk
 
7 - 28.06.19 - 12:17
(3) Сайд эффект такой. Даже в обработке обмена КД2 флажок есть :)
   Fragster
 
8 - 02.07.19 - 18:50
(5) для ускорения обеспечивается неблокирующее параллельное проведение и тогда получаем ускорение на порядок (с полной утилизацией ресурсов серверов) вместо жалких процентов ценою помех другим пользователям.
   hhhh
 
9 - 02.07.19 - 21:41
(5) если до 100 документов в транзакции будет проигрыш, где-то около 1000 выигрыш, если больше, например тысяч 20 документов в транзакции опять проигрыш.
   H A D G E H O G s
 
10 - 02.07.19 - 21:43
Лучше 1 CommitTransaction, чем 10000 Commit-ов, которые прищемят даже быстрый ssd
 
 Рекламное место пустует

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует