Oracle 12c 데이터베이스에서 SQL 문을 분석합니다. 우리는 다음과 같은 진술이 여러 번 실행 됨으로써 개선되었음을 알았습니다. 두 번째와 세 번째로 실행하여 어떻게 향상되는지 설명 할 수 있습니까?Oracle SQL 쿼리는 두 번째 및 세 번째 실행시 성능을 향상시킵니다.
SELECT COUNT (*)
FROM asset
WHERE ( ( (status NOT IN ('x1', 'x2', 'x3'))
AND ((siteid = 'xxx')))
AND (EXISTS
(SELECT siteid
FROM siteauth a, groupuser b
WHERE a.groupname = b.groupname
AND b.userid = 'xxx'
AND a.siteid = asset.siteid)))
AND ((assetnum LIKE '5%'));
- 첫 방송 : 24 초.
- 두 번째 실행 : 17 초
- 세 번째 실행 : 7 초
- 네 번째 실행 : 7 초
- 결과 현금을 사용하여 조정 : 0,003 초.
쿼리를 두 번째, 세 번째 등으로 실행하기 전에 shared_pool 및 buffer_cache를 플러시 했습니까? 오라클은 쿼리 결과를 캐시합니다. – Kacper
적응 형 쿼리 최적화 : http://www.oracle.com/technetwork/database/database-technologies/query-optimization/overview/index.html –