같은 테이블에 배치 삽입을 수행하는 동안 테이블에 대한 SQL 쿼리를 처리하는 방법과 관련하여 질문이 있습니다.일괄 삽입을 수행하는 동안 select 쿼리를 실행하는 방법
nHibernate를 사용하는 테이블에 일괄 적으로 삽입되는 많은 개체 (아마 50000)를 만드는 ASP.NET 웹 응용 프로그램이 있습니다. Nhibernate 최적화를 적용한 경우에도 최대 2 분이 소요됩니다. 격리 수준이 커밋 된 읽기로 설정된 데이터베이스 트랜잭션에서이 작업을 수행합니다.
웹 응용 프로그램의 일괄 처리 삽입 클라이언트는이 테이블에서 이전에 생성 된 데이터를 읽을 수 있어야합니다. 그러나 사용자는 커밋되지 않은 데이터를 읽을 수 없어야합니다. 내 문제는 선택 쿼리에서 격리 수준 "읽기 커밋"을 사용하면 일괄 처리 삽입 작업이 완료 될 때까지 기다리기 때문에 시간이 초과된다는 것입니다.
쿼리가 빠르게 실행되고 일괄 처리 삽입 작업이 완료 될 때까지 기다리지 않고 테이블의 커밋 된 행을 모두 반환하도록 데이터베이스를 쿼리하는 방법이 있습니까? 커밋되지 않은 데이터를 반환하고 싶지 않습니다.
격리 수준을 "스냅 샷"으로 설정했는데 문제가 해결 된 것으로 보이지만 최선의 방법입니까?
안부 기발한
일괄 처리를 몇 개의 작은 배치로 분할하여 분이 아닌 몇 분이 걸릴 수 있고 독립적으로 커밋 할 수 있습니까? – 9000
불행히도,이 경우에는 모두 또는 전혀 없어야합니다. – whimsical82