Oracle db를 처음 사용했습니다. 동일한 결과 집합을 반환하는 2 쿼리가 있습니다. 나는 그들 각각의 성과를 측정하고 더 나은 것을 선택하기를 원한다. Oracle SQL 개발자를 사용하여 어떻게 할 수 있습니까? 특정 도구가 통계를 제공한다는 것을 읽은 것을 기억합니다. 이러한 통계를 읽는 방법에 대한 지침이 있습니까?oracle에서 쿼리 성능을 측정하는 방법
업데이트 : Rob Van이 제안한 것처럼 tkprof 유틸리티를 사용하여 쿼리 성능을 확인했습니다. 내가 (카운트, 행, 경과 시간, 실행 시간) 이해할 수있는 몇 가지 매개 변수,하지만 대부분의 수 없습니다. 아무도 나를 매개 변수의 중요성으로 도울 수 있습니까? 아래는 결과입니다.
Query 1:
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.01 0.01 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 49 0.26 0.32 45 494 0 23959
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 51 0.28 0.33 45 494 0 23959
Query2:
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
Parse 1 0.00 0.00 0 0 0 0
Execute 1 0.00 0.00 0 0 0 0
Fetch 33 0.25 0.24 0 904 0 15992
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 35 0.25 0.24 0 904 0 15992
그 쿼리 2 쿼리 1. 디스크, 쿼리 및 현재 PARAMS가 무엇을 의미하는지에 어떤 도움보다 더 결정할 수 있습니다 ??
최고의 성능 쿼리를 최적화하는 방법에 대한 자세한 이해가 필요 2 동일한 결과 세트를 리턴합니다. 그러나 tkprof 파일은 쿼리 1이 23959 개의 행을 반환하고 쿼리 2가 15992 개의 행을 반환한다는 것을 보여줍니다. 정확히 일치하지는 않습니다 ... –
쿼리가 뷰 생성의 일부입니다. 조회가 뷰를 작성하는 f}이 다르기 때.에 리턴되는 행의 수가 다릅니다. 첫 번째 쿼리는 유니온을 사용하고 두 번째 쿼리는 LOJ를 사용하고 첫 번째 쿼리는 유니 코드를 사용하기 때문에 두 번째 쿼리 – Cshah