在我们的Web应用程序中,需要在一个事务中完成一系列操作,这些事务在非常拥挤的表中编辑数据(在5到4千万条记录之间)。目前它看起来像这样,
using (var transaction = session.BeginTransaction()
{
try
{
//operations
transaction.Commit();
}
catch (Exception exception)
{
transaction.Rollback();
throw Exception();
}
}
我们没有选择交易中的任何数据,只是更新操作。我们正在更新此交易中的大量记录(2000到4000之间)。
问题是当我们在事务之外执行相同的操作时需要100到120秒,但是当它在事务内部时花费将近500秒。这是正常的吗?