조인 할 테이블이 두 개 있습니다. 예를 들어 A와 B가 있습니다. A는 10k 레코드가 작고 B는 몇 백만 레코드가 있습니다. 조인은 A.a = B.b입니다. a 나 b에는 색인이 없습니다. 나는 작은 테이블에서 변경할 수 있지만 큰 테이블에서는 변경할 수 없습니다. 그리고 조인에 대한 B.b의 데이터 형식을 변환해야합니다. 쿼리 실행 시간이 오래 걸립니다. 성능을 향상시킬 수있는 방법이 있습니까?다른 크기의 조인 테이블
-1
A
답변
0
가능한 경우 더 작은 테이블의 변환을 수행하고 큰 테이블에 인덱스를 추가하는 것이 좋습니다 (전환이 색인의 사용을 방해하므로).
어떤 이유에서든이 작업을 수행 할 수 없거나 큰 테이블의 큰 부분 (약 15 % 이상)을 반환하려는 경우 전체 테이블 스캔이 가장 효율적인 옵션 일 수 있습니다. 이에 대한 자세한 내용은 여기 (http://asktom.oracle.com/pls/apex/f?p=100:11:0::::p11_question_id:9422487749968). 당신이 위의 당신이 그것을위한 하드웨어가 다음 경우 전체 테이블 스캔이 좋아 (또는 필요)입니다 결론에서 쿼리 병렬 힌트
을 도울 수있는 경우 : 위의 코드에서
select /*+ parallel(B,default) */ <columns here> ...
B는 병렬 힌트 (큰 테이블)를 적용하려는 테이블의 별칭이고 기본값은 사용할 코어 수입니다. 원하는 경우 여기에 숫자를 지정할 수 있습니다.
쿼리의 구문을 보지 않고도 다른 이점이 있는지 여부를 조언 할 수 없습니다.
1
최상의 성능을위한 가장 가능성있는 조인 방법은 해시 조인이므로 인덱스가 사용되지 않습니다.
변환 할 열은 더 작은 테이블의 조인 열이 될 것이지만 이는 아마도 CPU주기가 더 적기 때문일 것입니다.
작은 테이블에서 작성된 해시 테이블이 PGA 메모리에 적합하면 쿼리는 두 테이블의 전체 테이블 검색과 거의 동일한 시간이 걸릴 것입니다. 쿼리 실행 중에 v $ sql_workarea_active를 다음과 같이 확인하십시오. 테이블의 크기와 temp 테이블 스페이스로 유출되는지 여부를 모니터하십시오.
관련 문제
- 1. MySQL. 다른 서버의 테이블 조인
- 2. 다른 서버에 두 테이블 조인
- 3. 다른 데이터베이스의 두 테이블 조인
- 4. 테이블 조인 -
- 5. 다른 크기의 셀을 사용하여 테이블 만들기
- 6. 다른 크기의 테이블에 테이블 레이아웃 복사
- 7. 테이블 조인 : 정상적인 테이블 하나와 다른 FTS 가상 테이블
- 8. 기존 조인 테이블 데이터를 다른 조인 테이블로 이동
- 9. 기준을 사용하여 서로 다른 테이블 조인
- 10. MySQL은 - 조인 - 데이터 표시가되면 다른 테이블
- 11. sqlite에서 2 개의 다른 테이블 조인
- 12. 다른 두 테이블로 SQL 테이블 조인
- 13. 하이브 : 다른 키로 두 개의 테이블 조인
- 14. SQL에 두 개의 다른 테이블 조인
- 15. 두 개의 서로 다른 테이블 조인
- 16. 다른 데이터베이스 서버에 두 개의 테이블 조인
- 17. 다른 서버의 Linq 또는 SQL 조인 테이블
- 18. JPA의 다른 엔티티로 조인 테이블 변경
- 19. 두 개의 다른 연결 문자열에서 테이블 조인
- 20. 다른 레코드의 문자열이있는 MySQL 조인 테이블
- 21. 다른 변수 크기가있는 ID의 테이블 조인
- 22. 같은 이름의 다른 테이블과 테이블 조인
- 23. 제한된 크기의 해시 테이블?
- 24. 테이블 크기의 차이
- 25. 테이블 자체에 테이블 조인 SQL
- 26. 수와 날짜가있는 테이블 조인
- 27. Linq : 두 테이블 조인
- 28. 테이블 이름이 다른 테이블의 필드 인 MySQL 조인 테이블
- 29. 여러 테이블 조인
- 30. Kibana의 테이블 조인
"쿼리 실행 시간이 오래 걸립니다. 성능을 향상시킬 수있는 방법이 있습니까?" 색인을 추가하십시오. – Kevin
쿼리가 반환하는 행 수는 대략 몇 개입니까? 가능한 경우 전체 쿼리 구문을 게시 할 수 있습니다. – ChrisProsser
자세한 내용을 게시하거나 도움을 드릴 수 없습니다. 쿼리 구문, 분할 된 테이블, 결과 집합의 예상 크기 등 – Ollie