내 C# .NET 응용 프로그램은 OracleBulkCopy를 사용하여 수백만 개의 레코드를 임시 테이블에 씁니다. 응용 프로그램에 메모리가 20000 개 이상있을 때마다 OracleBulkCopy를 호출하여 모든 배치를 단일 배치로 작성합니다 (배치 크기 = 0을 사용 중입니다). 처음에는 테이블이 비어 있고 전체 배치를 작성하는 데 2 초 밖에 걸리지 않습니다. 이 과정에서 배치 작성 시간이 길어집니다. 2.000.000 레코드가 끝나면 각 호출에는 거의 25 초가 걸립니다. OracleBulkCopy의 기본 옵션을 사용하고 있습니다. 테이블이 40.000.000에 도달하면 몇 가지 테스트를 수행하면 20.000 개의 레코드를 작성하는 데 약 3 분이 소요됩니다.OracleBulkCopy 성능
각 통화마다 거의 일정한 시간을 유지하기 위해 어떤 권장 사항이 있는지 알고 싶습니다. 내가 뭐 잘못하고 있니?
이 테이블에 삽입 트리거가 있습니까? – Nate
아니요, 아무 것도 없습니다. 기본 키조차도 아닙니다. 로깅이 없도록 테이블이 설정됩니다. –
"temp"테이블은 정확히 무엇을 의미합니까? 전역 임시 테이블? – DCookie