2010-06-09 3 views
0

우리는 NHibernate와 Castle ActiveRecord를 사용하는 단일 서버/단일 데이터베이스 응용 프로그램을 가지고 있으며, SQL Server는 그 뒤에 있습니다.NHibernate HiLo Intervention

처리의 일부로 120 만 행의 데이터를 작성해야합니다. ActiveRecord와 NHibernate를 사용하는 것은 속도가 느리고 개선 될 필요가 있습니다. 이것은 아마도 저장된 프로 시저에서 "insert into .. select .. from .."를 사용하여 쉽게 수행 할 수 있습니다.

나를 되찾아주는 것은 ID 생성입니다. 우리는 HiL 세대를 사용합니다. 내가 필요한 것을하기 위해 저장된 proc 파일을 작성하면 데이터베이스 테이블에서 사용할 다음 번호를 얻을 수 있고, 내 삽입을 수행 한 다음 테이블을 업데이트 할 수 있습니다. 문제는 나도 몰라된다

어떤 번호를 NHibernate에이 curently 를 캐시 한 자 NHibernate가

을하고 어떤 다른 운영 나는 (내 생각) 할 수있는 최선은 캐시를 새로 NHibernate에 요청하는 것입니다

내가 저장된 프로 시저에서 돌아 왔을 때 - 또는 저장된 프로 시저에서 사용 된 마지막 ID를 반환하고 HiLo 캐쉬를 업데이트 할 때 번호가 있지만이 작업에 대한 참조를 찾을 수 없습니다.

아이디어가 있으십니까?

+0

, 당신은 adonet.batch_size을 설정하려고 했습니까? –

답변

관련 문제