![]() |
|
В обработке с транзакцией и без неё время проведения документов одинаковое.... | ☑ | ||
---|---|---|---|---|
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
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |