> 데이터 베이스 > MySQL 튜토리얼 > MySQL Join의 사용 원칙은 무엇입니까?

MySQL Join의 사용 원칙은 무엇입니까?

PHPz
풀어 주다: 2023-05-26 10:07:17
앞으로
1423명이 탐색했습니다.

    조인 유형

    • 왼쪽 조인, 왼쪽 테이블을 구동 테이블로 사용하고 왼쪽 테이블을 결과 집합의 기반으로 사용하여 오른쪽 테이블의 데이터를 결과 집합에 연결

    MySQL Join의 사용 원칙은 무엇입니까?

    • right Join, 오른쪽 테이블을 구동 테이블로 사용, 오른쪽 테이블을 결과 집합의 기초로 사용, 왼쪽 테이블의 데이터를 결과 집합에 연결

    MySQL Join의 사용 원칙은 무엇입니까?

    • inner Join , 결과 집합은 두 테이블의 교집합을 취합니다

    MySQL Join의 사용 원칙은 무엇입니까?

    • 완전 조인, 결과 집합은 두 테이블의 합집합입니다.

    • mysql에는 완전 조인이 없으며 합집합이 대체됩니다.

      차이점 Union과 Union 사이의 모든 것은 Union이 중복 항목을 제거한다는 것입니다

    MySQL Join의 사용 원칙은 무엇입니까?

    • 교차 조인 데카르트 곱

    • where 조건이 사용되지 않으면 결과 집합은 연관된 두 테이블 행의 곱입니다

      과의 차이점은

      cross Join이 결과 세트를 생성할 때 결과 세트가 on 조건에 따라 필터링된다는 것입니다
    • straight_join
    • SQL 순서에 따라 드라이버 테이블을 엄격하게 지정합니다.

      왼쪽 테이블은 드라이버입니다

    조인 원칙

    이 문장은 다음과 같이 다시 작성할 수 있습니다. 본질은 중첩 루프의 작동으로 이해될 수 있습니다. 여기서 외부 for 루프는 테이블을 구동하고 내부 for 루프는 구동 테이블이다. 구성된 데이터를 연결하는 전략에 따라 3가지 알고리즘으로 나눌 수 있다.

      Simpe Nested-Loop Join
    • 예를 들어 테이블 A와 테이블 B가 있고 두 테이블이 JOIN이면 테이블 A의 연결 조건을 사용하여 테이블 B를 하나씩 반복하여 다음과 일치합니다. 테이블 A와 테이블 B의 ID가 동일합니다. 결과 세트에 넣는 것이 효율성이 가장 낮습니다.

      Index Nested-Loop Join
    • 실행 프로세스(디스크 스캔)
    • 테이블 t1에서 데이터 R의 행을 읽습니다. 데이터 행 R에서 테이블 t2의 a 필드를 가져옵니다

      찾기 위한 트리 검색

      테이블 t2의 조건을 충족하는 행을 꺼내고 결과 집합의 일부로 R을 포함하는 행을 형성합니다.

    • 테이블 t1의 끝에서 루프가 끝날 때까지 1~3단계를 반복합니다.
    • R의 각 행에 대해 트리 검색 프로세스를 사용하여 a 필드를 기반으로 테이블 t2를 검색합니다.

      Block Nested-Loop Join
    • mysql은 루프 수를 줄이기 위해

      join buffer
    • r이라는 버퍼를 사용합니다. 이 버퍼는 기본적으로 256KB이며 'join_%'와 같은 show 변수를 통해 볼 수 있습니다.
    • 구체적인 방법은 첫 번째 테이블의 정규화된 열을 한 번에 버퍼에 쿼리한 다음 두 번째 테이블을 한 번 트래버스하여 버퍼에 있는 모든 값과 하나씩 비교하고 비교 결과를 추가하는 것입니다. 결과 집합에
    • 조인 버퍼는 JOIN 유형이 ALL, index, rang 또는 index_merge인 경우에만 사용됩니다. explain을 통해 SQL 쿼리 유형을 볼 수 있습니다.

      조인 최적화
    • 조인 알고리즘을 최적화하기 위해 인덱스 중첩 루프 조인 알고리즘을 사용하여 연결 필드에 인덱스 필드를 생성합니다.
    • 데이터 볼륨이 작은 테이블을 사용하여 테이블을 구동합니다. 대용량 데이터
    • 조인 버퍼 크기를 늘립니다. (한 번에 더 많은 데이터를 캐시할수록 외부 테이블의 순환 횟수가 줄어듭니다.)
    • 조인의 암시적 변환 및 문자 인코딩에 주의하세요. 인덱스 실패를 방지하기 위한 필드
    🎜🎜

    위 내용은 MySQL Join의 사용 원칙은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

    관련 라벨:
    본 웹사이트의 성명
    본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
    인기 튜토리얼
    더>
    최신 다운로드
    더>
    웹 효과
    웹사이트 소스 코드
    웹사이트 자료
    프론트엔드 템플릿