EF 5.0 및 WCF Data Services를 사용하여 데이터 액세스 루틴을 테스트하는 동안 성능 문제가 발생했습니다. 나는 WCF 데이터 서비스 조작 내에서 다음과 같은 간단한 쿼리를 실행하고 : 만 500 개 기록을 촬영하면검색된 레코드 수가 기하 급수적으로 증가하면 linq 쿼리 기간이 늘어납니다.
var addresses = (from address in context.Addresses select address).Take(500);
var addressList = addresses.ToList();
는, 쿼리 시간은 약 300 밀리 초입니다. 1000 개의 레코드를 가지고 쿼리 시간은 4 초입니다. 2000 개의 레코드 쿼리 시간은 24 초입니다. 약 6000 개의 레코드를 가지고 쿼리 시간은 360 초 이상입니다.
SQL Server Management Studio에서 EF에 의해 생성 된 SQL 문을 실행할 때 6000 레코드 쿼리는 본질적으로 즉시 발생합니다.
이 성능 문제를 해결하기 위해 어떤 설정을 구성 할 수 있습니까?
당신이 당신의'DbQuery' 당신 때문에 돈에'.AsNoTracking을()'호출을 시도 할 수 'ObjectStateManager'의 오버 헤드가 없습니다. –