Operation Object Name Rows Bytes Cost Object Node In/Out PStart PStop
SELECT STATEMENT Optimizer Mode=CHOOSE NESTED LOOPS MERGE JOIN SORT JOIN TABLE ACCESS FULL ITS.SALARY SORT JOIN TABLE ACCESS FULL ITS.INPUT TABLE ACCESS BY INDEX ROWID ITS.EMPLOYEE INDEX UNIQUE SCAN ITS.SYS_C003005 위와 같은 정보는 생성이 되는데, rows, byte등은 생성이 되지 않습니다. 특, 통계정보가 생성되지 않는 것인데요.. 어떻게 하면 토드에서 통계정보를 볼 수 있을까요?
analyze 해보세요.
답변 감사드립니다. 정확히 알려주셨다면 더욱 좋았을 테지만 말이지요^-^ ANALYZE TABLE 테이블명 COMPUTE STATISTICS; 모든테이블을 위와같이 하면 그 후에 통계정보를 확인할 수 있습니다... 그런데, 각각 테이블을 모두 저렇게 해야 하는 건가요? 아니면, 모든 테이블을 한꺼번에 하는 방법이 있을까요?
사용하고 계시는 오라클의 옵티마이져 모드가 rule 이나 choose 로 보입니다.
옵티마이져 모드가 rule 인 경우 비용이 산출 되지 않습니다.
choose 인 경우도 말씀 하신데로 analyze를 하지 않으면 rule base로 옵티마이져가
동작하게 됩니다. 따라서 analyze 를 해주셔서 통계정보를 생성하시면..
데이터베이스의 옵티마이져는 cost base로 동작하게 됩니다.
기존 데이터 베이스가 rule base로 운영되었다면... cose base 로 운영을 바꾸기 위해
의도적으로 analyze 하신다면.. 실행계획이 바뀔수 있습니다.
충분히 테스트 하셔서 전환 계획을 세우셔야 합니다.
수고하세요.