Мы используем ядро Berkeley (dbbaseapi) и уже обработали запись / ReadCDRFile с 9 отсутствием записей, теперь мы получаем разницу в производительности при использовании транзакции и без использования транзакции, которая выглядит следующим образом: -
- Записываем / читаем S-Max CDRFile, реализующий концепцию вторичной базы данных: -
Использование концепции вторичной базы данных (с транзакцией): -
Operation No.of Rows Time
Write CDRFile 9,66,320 5.8 minutes
Read CDRFile 9,66,320 1.36 minutes
Использование концепции вторичной базы данных (без транзакции): -
Operation No.of Rows Time
Write CDRFile 966320 3.27 minutes
Read CDRFile 966320 1.28 minutes
мы уже установили параметр, используемый в environmentConfig.setTransaction (true) и такой же в базе данных.
Transaction txn = databaseEnv.getDbEnv().beginTransaction(null, null);
и передано здесь: -
databaseEnv.getCdrDb().put(txn, thekey, theData);
так ответьте, как транзакция внутренне используется в базе данных и окружении