문제

많은 행 (10,000+)으로 두 개의 데이터 레이스를 병합하는 .NET 응용 프로그램이 있습니다. DataAdapter.update 명령을 사용할 때 많은 수의 업데이트/인서트가 SQL 테이블에 수행 할 가능성이 높습니다.

지금은 어댑터 updatebatchsize 속성을 200으로 설정했습니다. vs는 성능을 줄일 수 있기 때문에이 값을 너무 높게 설정하는 것에 대해 경고합니다. 알았어, Gotcha.

성능 현명한,이 속성을 설정할 때 무엇을 찾아야합니까? 어쨌든 많은 행을 업데이트하는 데 많은 시간이 걸립니다. 내 컴퓨터 (또는 DB 서버)에서 실행하는 것은 시간이 많이 걸리지 않지만 시스템이 다른 항목을 수행하는 경우 문제가 될 수 있습니다.

프로파일 러에서 찾을 수있는 것이 있습니까? 표준 프로파일 링을 수행하는 지속 시간은 일반적으로 0입니다. 때로는 1 또는 2 (전체 20 배)에 맞는 경우가 많으며 약 20,000 개의 업데이트 중 3-4 명이 20 명입니다. CPU는 1-2를 기록한 커플을 제외하고 0입니다. . 읽기는 항상 2이며, 쓰기는 항상 0입니다.

도움이 되었습니까?

해결책

첫 번째는이 설정을 구성 가능하게하여 컴파일하지 않고 다양한 값을 테스트 할 수 있다는 것입니다. 다음은 전체 배치의 지속 시간을 보는 것입니다. 성능에 만족하면 변경하지 마십시오. 성능에 불만이 생기면 설정을 늘리거나 감소시켜 동작 방식을 확인하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top