Drop Partition 구문 수행 시 SQL Plan이 변경 (19c)

• 현상
➢ DROP Partition 구문을 사용한 이후 SQL Plan이 변경되는 현상 발생 (DBA_TABLES.LAST_DDL_TIME 변경 )
➢ SQL 실행계획이 재작성되면서 Bad Execution plan이 생성될 가능성 있음

• 원인
➢ _optimizer_gather_stats_on_load=true로 되어 있음
➢ CTAS 또는 Direct path insert 수행 시 자동 통계정보 수집 여부 설정 , 이 파라미터가 true라면 CTAS, Direct
path insert 수행 시에만 동작해야 하는데 , DROP Partition 등 파티션 테이블의 DDL 구문 수행 시에도 통계정보 수집이 되는 현상이 발생하여 성능 저하 이슈 발생

• 해결 방안
1. DROP Partition 수행 시에도 SQL Plan이 변경되지 않도록 파라미터를 통해 disable시킴
_optimizer_gather_stats_on_load=false 로 변경함

2. 해당 파라미터 설정 후, DBA_TABLES.LAST_DDL_TIME이 변경되지 않음
동적 통계정보의 변경으로 인해 Worst Execution plan이 생길 수 있으므로, false 권장

Posted by pat98

01-07 06:05
Flag Counter
Yesterday
Today
Total

글 보관함

최근에 올라온 글

달력

 « |  » 2025.1
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

최근에 달린 댓글