以前は、1つのトランザクションで500回の操作を実行していましたので、foreachブロックで500回トランザクションを変更する必要がありました。nHibernateの複数のトランザクションが遅くなりました
私は各トランザクションの作成(私はストップウォッチを使用)をチェックしており、foreachループ(すべての新しいトランザクション)が以前のものよりも少し長くなっていることに気付きました。 〜80ミリ秒から〜400に上がった。私のコード:
foreach (var single in data)
{
using (var tran = _session.BeginTransaction())
{
// operations with "single" usage - _session.Save() or _session.Update()
//...
tran.Commit();
}
}
私は間違っていますか?私は処分すべきでしょうか、何かをtran.Commit()の後に洗い流しますか?
[クエリとコミットの可能な複製は、セッションの存続期間が長くなる](http://stackoverflow.com/questions/43934112/queries-and-commits-take-longer-as-the-session-lives-on ) –