여러 테이블이 관련되어있는 데이터베이스간에 많은 양의 데이터를 가져올 필요가 있습니다.데이터 가져 오기 전략에서 nhibernate 트랜잭션 범위
거래에 가장 적합한 전략은 무엇입니까? 나는 하나의 커다란 거래를하고 그 과정의 마지막에 커밋하는 것은 나쁜 생각 일 것이라고 생각합니다.
각 테이블을 커밋하는 것이 좋을까요? 특정 테이블이 다른 테이블과 종속되어 있다면 어떻게 처리해야합니까?
여러 테이블이 관련되어있는 데이터베이스간에 많은 양의 데이터를 가져올 필요가 있습니다.데이터 가져 오기 전략에서 nhibernate 트랜잭션 범위
거래에 가장 적합한 전략은 무엇입니까? 나는 하나의 커다란 거래를하고 그 과정의 마지막에 커밋하는 것은 나쁜 생각 일 것이라고 생각합니다.
각 테이블을 커밋하는 것이 좋을까요? 특정 테이블이 다른 테이블과 종속되어 있다면 어떻게 처리해야합니까?
가능한 경우 별도의 트랜잭션에 종속없이 테이블을 가져 와서 다른 트랜잭션의 종속성이있는 테이블을 가져올 수 있습니다.
이것이 가능하지 않은 경우 큰 거래 하나를 추천합니다.
트랜잭션 기본 데이터베이스로 되돌아 가면 트랜잭션을 만들 때 데이터베이스에 추가하려는 모든 데이터가 메모리에 저장되고 커밋이 완료되면 데이터베이스에만 추가됩니다 그 시나리오에서, 하나의 거대한 거래는 잠재적으로 많은 양의 메모리를 소비하지 않을 것인가? – user1838662
데이터가 일관성이 있어야하는 경우 많은 양의 데이터가있는 경우에는 데이터가 여전히 일관성이 있음을 확인하는 것 외에는 그다지 많지 않습니다. – Xharze
감사합니다. – user1838662
당신이 데이터를 가져 오기 위해 NHibernate를 사용할 계획이라면, 적어도 이것을 위해 "StatelessSession"을 사용하십시오. –
StatelessSession에 익숙하지 않아 데이터를 빠르게 삽입하는 방법을 제공한다고 생각하십니까? – user1838662
무국적 세션은 1 단계 캐시를 사용하지 않고 2 단계 캐시 또는 쿼리 캐시를 사용하지 않습니다 - http://nhforge.org/doc/nh/en/index.html#batch-statelesssession 대량 작업의 경우 세션 성능이 향상됩니다 (그러나 무 상태 세션 사용에 대한주의 사항을 살펴보십시오) –