Where와 등가 쿼리의 조인 속도는 기본적으로 동일하고, 비동등 쿼리의 조인 속도는 대체적으로 느립니다.
member와 member_class라는 두 개의 테이블이 있습니다. 데이터 구조는 아래와 같습니다. 여기서 member.class_id와 member_class.id는 관련 필드입니다
우리는 두 테이블에 각각 200,000개의 데이터가 기록되었으며, 그 중 member.class_id가 member_class.id에 존재해야 합니다. (동등한 레코드는 없습니다.)
더 정확한 실험을 위해, 쿼리 결과 20회:
쿼리 시간(초):
0.253, 0.256, 0.256, 0.252, 0.257, 0.252, 0.260, 0.265, 0.253, 0.252, 0.254 , 0.257, 0.254, 0.257 , 0.243, 0.250, 0.252, 0.252, 0.255, 0.284
각각 쿼리 시간(초):
0.247, 0.260, 0.250, 0.246, 0.271, 4 7, 0.251, 0.247, 0.243, 0.247, 0.247 , 0.245, 0.249, 0.246, 0.247, 0.253, 0.248, 0.254, 0.251, 0.247, 0.250
쿼리의 평균은 0.2557초이고, 쿼리의 평균은 0.2498초이며, 그 차이는 거의 같습니다. 무시할 수 있는.
member_class.id에 class_id의 20%만 존재하는 새 member_v2 테이블을 생성합니다.
아래와 같이:
전체 테이블 테스트를 계속 쿼리합니다. :
LEFT JOIN에 동일하지 않은 레코드가 많기 때문에 NULL 값이 많이 나타나므로 중간 테이블의 쿼리 효율성이 떨어집니다. WHERE 쿼리를 선택하면 쿼리 중에 동일하지 않은 레코드를 자동으로 필터링할 수 있습니다.
그래서 쿼리 시간도 빨라졌습니다.
위 내용은 속도 소스 코드에 대한 MySQL 다중 테이블 연관 비교 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!