2009-11-26 3 views
-2

매우 높은 성능의 응용 프로그램을 만들어야합니다. 현재 데이터 액세스 계층에 Entity Framework를 사용하고 있습니다. 내 응용 프로그램은 거의 모든 초마다 일부 통신 데이터를 삽입해야합니다. 엔티티 프레임 워크가 느리다는 것을 발견했습니다. SaveChanges() 메소드를 완료하는 데 약 2 초의 지연이 있습니다.데이터 액세스 계층을 만드는 가장 높은 성능은 어떤 접근 방식입니까?

다음과 같은 옵션이 있다고 생각했습니다. 1. ADO.NET을 사용하여 데이터 액세스 계층을 직접 만드십시오. http://pooyakhamooshi.blogspot.com/search?q=repository

당신은 어떻게 생각 : 저장 프로 시저 또는 임시 2. 엔터프라이즈 라이브러리 데이터 액세스 레이어 3. NHibernate에 4. 저장소 공장 쿼리를 사용하고 계십니까? 어느 쪽이 데이터 삽입에 더 빠릅니까? 어느 것이 더 빨리 설정합니까?

답변

1

일반용 ADO.NET은 구현 방법에 따라 달라 지지만 성능면에서는 최상이어야하지만 개발하는 데 오래 걸릴 것입니다.

나는 매우 도움이 사이트를 발견 : http://ormbattle.net/

BLToolkit가 될 것으로 보인다을 최고의 무료 ORM 도구 성능 현명한; 내가 처음 들어 봤어!

3

성능 문제 인 경우 사용할 모든 프레임 워크가 ADO.NET을 사용하기 때문에 직접 ADO.NET을 사용하여 이전 할 수 없습니다. 성능 향상은 그만한 가치가 있습니다. 수백만 건의 레코드를 수백만 건 넣지 않는 한, 그만한 가치는 없을 것입니다.

응용 프로그램을 프로파일 링하여 응용 프로그램이 정보를 저장하는 데 2 ​​초가 걸린 이유를 확인하는 것이 좋습니다. 그렇게 느리지 않아야합니다. 어쩌면 n + 1 성능 문제가있을 수 있습니다. 이 문제를 해결하면 Entity Framework (또는 다른 표준 DAL)를 사용하여 원하는 성능을 얻을 수 있습니다. 그것에 집중하십시오.

관련 문제