이전에는 너무 오래 지속되는 하나의 트랜잭션에서 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();
}
}
내가 뭘 잘못하고 있니? 내가 처분해야 겠니, 트란 이후에 뭔가 씻어 버려. 명령()?
가능한 복제 (http://stackoverflow.com/questions/43934112/queries-and-commits-take-longer-as-the-session-lives-on을 [쿼리 및 세션이 살아로 오래 걸릴 커밋]) –