💻 C# / .NET 주간

EF Core의 Include()가 Select() 프로젝션보다 훨씬 느린 이유는?

Stack Overflow에 올라온 질문으로, 중첩된 연관 엔티티를 조회할 때 EF Core의 Include()가 Select()를 활용한 프로젝션보다 성능이 눈에 띄게 떨어지는 이유를 묻고 있습니다. ASP.NET Core와 SQL Server 환경에서 실제로 겪은 성능 문제라 실무 데이터 조회 로직을 짜는 개발자라면 공감할 만한 주제입니다. Include()는 관련 엔티티 전체를 로드하는 반면 Select() 프로젝션은 필요한 컬럼만 뽑아오기 때문에 쿼리 실행 계획과 데이터 전송량 자체가 달라지는 게 핵심 이유로 꼽힙니다. 대량 데이터를 다루는 API에서는 이 차이가 응답 속도에 직접적인 영향을 줄 수 있습니다. EF Core로 쿼리 최적화를 고민 중이라면 참고할 만한 사례입니다.

키워드

출처

← 리스트로