애플리케이션에서 데이터 상관을 수행하는 것(즉, 여러 쿼리를 실행하고 결과를 상관시키는 것)과 상관 쿼리를 직접 사용하는 것의 장점과 단점은 무엇인가요?
어떤 시나리오에서 이 두 가지 방법이 더 나은 성능을 발휘합니까?
애플리케이션에서 데이터 상관을 수행하는 것(즉, 여러 쿼리를 실행하고 결과를 상관시키는 것)과 상관 쿼리를 직접 사용하는 것의 장점과 단점은 무엇인가요?
어떤 시나리오에서 이 두 가지 방법이 더 나은 성능을 발휘합니까?
일반적으로 직접 상관 쿼리를 사용하는 이유는 이것이 없으면 할 수 없는 작업이기 때문입니다. 관련 쿼리를 줄이고 효율성을 높이려면 추가 작업을 많이 해야 하는데, 이는 단순히 다양한 캐시에 불과합니다.
가장 간단한 예: Order.StuatsId는 OrderStatus.Id와 연결됩니다
주문 상태를 표시하기 위해
방법 1: 연결된 쿼리
방법 2: OrderStatus가 캐시되고 해당 메서드가 포함된 도우미 getStatusTitleById는 프론트 데스크에 제공됩니다. 연관을 피하기 위해 사용됩니다.
따라서 동시성 부담이 낮은 프로젝트는 거의 영향을 미치지 않으므로 이에 너무 많은 주의를 기울일 필요가 없는 반면, 동시성 부담이 높은 프로젝트는 이를 장기적인 작업으로 특별히 처리합니다.
결론: 일반적으로 연관 쿼리 사용으로 인한 성능 손실은 방문자가 인지할 수 없지만 너무 많은 연관은 피해야 합니다(예: 2개의 테이블의 데이터만 필요하고 실제 SQL 쿼리는 5개의 테이블에 연결됨) )
효율성 측면에서 관련 쿼리 효율성은 확실히 더 높습니다
코드 가독성 측면에서는 별도로 가독성이 높아야 합니다. 그리고 재사용이 가능합니다.
구체적인 선택은 프로젝트 규모에 따라 다릅니다.