>  기사  >  백엔드 개발  >  조인 쿼리를 직접 사용하는 것과 애플리케이션에서 데이터 상관 관계를 수행하는 것의 장단점은 무엇입니까?

조인 쿼리를 직접 사용하는 것과 애플리케이션에서 데이터 상관 관계를 수행하는 것의 장단점은 무엇입니까?

WBOY
WBOY원래의
2016-10-22 00:14:081356검색

애플리케이션에서 데이터 상관을 수행하는 것(즉, 여러 쿼리를 실행하고 결과를 상관시키는 것)과 상관 쿼리를 직접 사용하는 것의 장점과 단점은 무엇인가요?
어떤 시나리오에서 이 두 가지 방법이 더 나은 성능을 발휘합니까?

답글 내용:

애플리케이션에서 데이터 상관을 수행하는 것(즉, 여러 쿼리를 실행하고 결과를 상관시키는 것)과 상관 쿼리를 직접 사용하는 것의 장점과 단점은 무엇인가요?
어떤 시나리오에서 이 두 가지 방법이 더 나은 성능을 발휘합니까?

일반적으로 직접 상관 쿼리를 사용하는 이유는 이것이 없으면 할 수 없는 작업이기 때문입니다. 관련 쿼리를 줄이고 효율성을 높이려면 추가 작업을 많이 해야 하는데, 이는 단순히 다양한 캐시에 불과합니다.

가장 간단한 예: Order.StuatsId는 OrderStatus.Id와 연결됩니다
주문 상태를 표시하기 위해
방법 1: 연결된 쿼리
방법 2: OrderStatus가 캐시되고 해당 메서드가 포함된 도우미 getStatusTitleById는 프론트 데스크에 제공됩니다. 연관을 피하기 위해 사용됩니다.

따라서 동시성 부담이 낮은 프로젝트는 거의 영향을 미치지 않으므로 이에 너무 많은 주의를 기울일 필요가 없는 반면, 동시성 부담이 높은 프로젝트는 이를 장기적인 작업으로 특별히 처리합니다.
결론: 일반적으로 연관 쿼리 사용으로 인한 성능 손실은 방문자가 인지할 수 없지만 너무 많은 연관은 피해야 합니다(예: 2개의 테이블의 데이터만 필요하고 실제 SQL 쿼리는 5개의 테이블에 연결됨) )

효율성 측면에서 관련 쿼리 효율성은 확실히 더 높습니다
코드 가독성 측면에서는 별도로 가독성이 높아야 합니다. 그리고 재사용이 가능합니다.

구체적인 선택은 프로젝트 규모에 따라 다릅니다.

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.