SQL Server 2012에는 많은 양의 페이징을 사용하는 응용 프로그램의 성능에 큰 영향을 줄 수있는 FETCH 및 OFFSET을 사용한 페이징에 대한보다 효율적인 메커니즘이 도입되었습니다. Entity Framework 5가이를 지원합니까? EF를 사용하여 Take + Skip을 사용하여 페이지를 작성하면 EF가 SQL Server 2012를 대상으로하는 경우 LINQ 쿼리가 새로운 2012 TSQL로 변환됩니까?Entity Framework 및 SQL Server 2012 페이징
9
A
답변
9
EF 5는이 기능을 지원하지 않습니다. 실제로 EF에서는 SQL Serve 2012 기능을 사용할 수 없습니다. 이 기능을 Data UserVoice에 투표하면 ADO.NET 팀 제품 백 로그에서 위로 이동할 수 있습니다.
11
@ Ladislav가 말했듯이 EF 5는 OFFSET & FETCH를 지원하지 않습니다. 그렇게 말하면서 약간의 관점을 추가하고 싶었습니다. 나는 그것이별로 중요하지 않다고 생각한다.
Entity Framework와 같은 ORM을 구입하면 완벽한 생성을 위해 쿼리 생성을 소홀히합니다. EF가 Row_Number()
또는 더 최신 Fetch
/Offset
과 함께 '이전'CTE
스타일 쿼리를 사용하는지 여부는 구현 세부 사항입니다. Microsoft는 언제든지 EF 코드를 업데이트하고 둘 중 하나를 사용하도록 쿼리 생성을 변경할 수 있습니다. 쿼리 생성을 제어하려면
, 당신도 : EF와
- 사용 EF의 '저장 프로 시저 매핑 능력 (뭔가 내가 할이 꽤 자주)
- 쓰기 더 제한된 대규모 같은 마이크로-ORM ADO를/SQL 자신, 또는
- 사용/PetaPoco
그럼 상관 있니?
글을 쓰는 개발자에게는 새로운 구문이 환영받을 것입니다. 반면에 doesn't appear에는 기존 CTE 방법과 새로운 구문 인 performance difference between이 있습니다. 그래서 EF의 관점에서 - 실제로는 아닙니다. 우리는 significant overhead EF를 사용하여, 페이징의 방법은 아마도 당신의 휴식 지점되지 않습니다.
관련 문제
- 1. SQL Server 2012 및 .NET Framework 4.0
- 2. Entity Framework 및 SQL Server 동의어
- 3. Entity Framework 및 SQL Server Tuning Advisor
- 4. SQL Server 페이징 및 성배
- 5. Entity Framework/SQL Server 많은 외래 키
- 6. Entity Framework 4는 SQL Server 2005에서 작동합니까?
- 7. SQL Server Express 파일이있는 Entity Framework 4
- 8. Entity Framework 2011 년 6 월 CTP 및 SQL Server 2012
- 9. SQL Server 2012
- 10. Microsoft SQL Server 페이징
- 11. SQL Server 페이징 오류
- 12. SQL Server "사용자 스키마 분리"및 Entity Framework 문제
- 13. SQL Server 2008 뷰 및 Entity Framework 4
- 14. SQL Server 2008 R2와 SQL Server 2012
- 15. SQL, MVC, Entity Framework
- 16. NHibernate 및 SQL Server 2012 시퀀스
- 17. LINQPAD, 사용자 인스턴스 및 SQL Server 2012
- 18. SQL Server 2012 테이블 열 및 성능
- 19. SQL Server 2012 인스턴스 설치 및 만들기
- 20. TSQL (SQL Server) row_number로 정렬 및 페이징
- 21. SQL Server 2012 연결 문자열
- 22. Linq to SQL 및 Entity Framework
- 23. SQL Anywhere, Entity Framework 4 및 트랜잭션
- 24. Entity Framework 4.1 Raw SQL
- 25. invoke_ascmd on SQL Server 2012
- 26. SQL Server 2012 SSAS 권한
- 27. SQL Server 구성 관리자 2012
- 28. SQL Server 2012 Express의 프로필러
- 29. SQL Server 2012 제거 오류
- 30. Entity Framework 4.1 SQL 삽입
더 효율적이지 않습니다. 더 읽기 쉽습니다. –
SQL Server에서 반환하는 페이로드를 줄이면 가져 오기 및 오프셋 성능이 향상됩니다. http://www.mssqltips.com/sqlservertip/2696/comparing-performance-for-different-sql-server-paging-methods/ – Judo
@Judo ROW_NUMBER 기반 접근 방식은 동일한 결과 집합을 반환합니다. 그러나 여러 가지 이유로 성능 이점이있을 수 있습니다. – John