일단 운영하시고 계신 서버의 OPTIMIZER_MODE 가 CBO 방식인지 확인 하셔야 합니다.
확인 하실 수 있는 방법은
SQL> show parameter optimizer_mode
로 조회 하실 수 있고 만약 결과가 다음과 같다면
ex )
NAME TYPE VALUE
------------------------------------ -----------
optimizer_mode string CHOOSE or FIRST_ROWS or ALL_ROWS
위와 같이 CHOOSE or FIRST_ROWS or ALL_ROWS 중 하나의 값으로 운영된다면 analyze 를 통한 통계 정보 수립이 효과를 보실 수 있을 것 입니다.
analyze 란 CBO 일때 Optimizer 가 실행 계획을 수립 할때 참고 정보로 사용 할 수 있는 통계 정보를 생성해주는 것이라 할 수 있습니다.
CBO 환경이라면 analyze를 주기적으로 수행해준다면 Optimizer가 실행계획 수립시 참고 할 만한 통계 정보가 많아 짐으로 인해 효율적인 실행계획 수립이 가능해 지겠지요.
통계 정보 수집을 할 수 있는 방법은 analyze 와 dbms_stats 란 Package 를 통해 수집 하실 수 있습니다.
관련 명령어는 다음 Site 내용 참고 하시기 바랍니다.
http://blog.empas.com/yu1016/15244820 (좀 간략 하게 나와있네요.. ^^).
|