sql 에서 left join 의 효율 분석 과 효율 향상 방법

1201 단어 sqlleftjoin능률.
사 이 트 는 데이터 의 양 과 방 문 량 이 점점 많아 지면 서 방문 속도 가 점점 느 려 지면 서 최적화 속도 가 느 린 원인 을 해결 하기 시작 했다.
다음은 프로그램 에서 sql 에 대한 분석 과정 입 니 다.물론 프로그램의 실행 효율 은 sql 문장의 문제 뿐만 아니 라 서버 설정,네트워크 속도,프로그램 언어 등 각 방법의 문제 일 수도 있 습 니 다.오늘 은 sql 구문 에서 left join 의 효율 문 제 를 분석 해 보 겠 습 니 다.
sql 구문 에는 다음 과 같은 정보 가 포함 되 어 있 습 니 다.
1,sql 포함 데이터 처리 함수,예 를 들 어 nvl 함수,case when 함수 등
2.sql 에는 inner join,left join 등 관련 관계 가 포함 되 어 있 습 니 다.
3.sql 에는 정렬 과 페이지 가 있 습 니 다.
다음은 분석 과정 입 니 다.
1.우선 순 서 를 빼 면 속도 가 정말 빠 르 지만 어 쩔 수 없다.순 서 는 필수 적 이다.이렇게 하 는 것 은 순 서 를 정 하 는 데 자원 이 많이 소모 된다 는 것 을 증명 하기 위해 서 이다.
2.nvl,case when 등 함 수 를 제거 한 결과 속도 가 거의 변 하지 않 았 습 니 다.
3.inner join 의 시 계 를 제거 하면 속도 가 몇 십 밀리초 빨 라 집 니 다.
4.left join 의 시 계 를 제거 하고 속 도 를 원래 의 4 초 에서 1 초 로 높 인 다.
종합 적 으로 얻 은 것 은 left join 이 야 말로 속도 가 느 린 원흉 이 므 로 left join 관련 관계 필드 를 모두 색인 으로 추가 하여 테스트 한 결과 속 도 는 기본적으로 1 초 정도 유지 되 는 것 으로 나 타 났 다.문제 해결.
결론:left join 은 자원 을 상당히 소모 하 는 작업 입 니 다.관련 필드 에 색인 이 없 으 면 속도 가 느 리 기 때문에 left join 이 있 으 면 색인 필드 로 연결 하 는 것 이 좋 습 니 다.관련 필드 에 색인 을 추가 하거나
인터넷 에 서 는 left join 오른쪽 표 데 이 터 를 보완 한 뒤 left join 을 inner join 으로 교체 한 다 는 말 도 나온다.나 는 속도 가 확실히 매우 빠 르 지만 데이터 양 문 제 를 고려 하여 이 방법 을 테스트 하지 않 았 다.

좋은 웹페이지 즐겨찾기