>  기사  >  백엔드 개발  >  Thinkphp에서 mysql 2-테이블 쿼리에 대해 in ids 또는 left Join을 사용해야 합니까(페이징의 경우 ids 배열은 일반적으로 약 20개입니다).

Thinkphp에서 mysql 2-테이블 쿼리에 대해 in ids 또는 left Join을 사용해야 합니까(페이징의 경우 ids 배열은 일반적으로 약 20개입니다).

WBOY
WBOY원래의
2016-12-05 13:44:221385검색

어떤 솔루션이 더 좋은지 모르겠습니다
책에서 보통 캐싱에 좋은 분할 테이블 쿼리라고 읽었습니다

답글 내용:

어떤 솔루션이 더 좋은지 모르겠습니다
책에서 보통 캐싱에 좋은 분할 테이블 쿼리라고 읽었습니다

주로 데이터 양과 적용 시나리오에 따라 다릅니다. 데이터 양이 적을 경우 둘은 거의 동일합니다.
in() 쿼리 또는 다중 테이블 왼쪽 조인 중 어느 것이 더 효율적입니까? 공동 질의?

왼쪽 조인을 사용하는 사람이 in을 사용하는 사람보다 훨씬 많은 SQL 문제에 대해 이야기하고 있습니다.

두 가지 구문은 서로 다른 시나리오에서 사용되며, 왼쪽 조인은 관련 테이블과 일치하는 레코드를 필터링하기 위해 ID를 아는 것입니다. 페이징을 한다면 연관된 테이블이 대형 테이블(수십만 또는 수백만 개의 레코드)인지 확인한 후 Left Join을 사용할지 여부를 결정합니다. 조인을 사용하더라도 설명하고 살펴보는 것이 가장 좋습니다. 최적이라면 아니요. 그렇다면 설명 결과를 살펴보고 최적화하세요. 매우 큰 테이블에는 조인하지 않는 것이 좋습니다. in을 사용하는 경우 ID를 추출하고 보조 테이블을 쿼리하여 데이터를 기본 테이블 데이터 세트로 조합할 때 여러 루프가 없어야 하며 효율성이 반드시 그렇게 느리지는 않습니다. .

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