동일한 쿼리의 Plan Hash와 SQL ID가 새로 생성되는 이유 0 1 2,455

by 한포 [Oracle Tuning] Plan Hash Parsing 튜닝 STATS SQL [2023.06.22 15:44:38]


안녕하세요.

2주 전쯤 관리중인 range partition으로 구성된 테이블에 Global Stats를 삭제하고 Partition Stats로 Aggregate하여 사용하도록 구성하였습니다.

그런데 해당 작업 이후 WEB에서 5초 Batch로 실행되는 쿼리가 주기적으로 Plan Hash와 SQL ID가 새로 생성됩니다.

웹에서 검색 조건이 되는 대상들은 쿼리에서 전부 바인딩 처리하여 사용하고 있는데 새로 플랜이 생성되는 이유가 있을까요? 실행 당 속도는 오히려 더 빨라지고 있어서 결과적으론 긍정적이지만 새로 생성되는 이유가 궁금합니다.

 

통계정보를 언급한 이유는 이전에는 그러한 현상이 거의 없었기 때문에 혹시 영향성인지도 같이 여쭙고자 같이 작성하였습니다.

by 포동푸우 [2023.06.23 20:33:25]

Bind 처리가 되 있어도, Oracle 엔진은 새로운 실행 계획 변경을 시도 합니다. 

Oracle DB 11g 이상이면, SPM 기능으로 (수동 혹은 자동 관리) 새로운 Plan 이 기존 Plan 보다 좋을 경우, 새 plan 으로 실행되도록 설정 될 겁니다.  

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입