peek at the bind로 해석 = "_optim_peek_user_bind"=TRUE 로 해석
☞ 위와 같이 해석될 경우 system level에서 cursor_sharing를 설정하는 것은 상당히 위험해 질 수 있으므로, 해당 파라미터 세팅(FORCE, SIMILAR) 시에는 필히 SESSION LEVEL OR SQL LEVEL에서 제어를 할 필요가 있음.
_optim_peek_user_binds =TRUE
Bind Value에 인덱스가 있고, 해당 SQL이 Bind Value를 이용해서 해석이 되어야 하는 경우 Query Optimizer가 Bind Value의 Column Histogram을 참조하여 SQL문을 해석 하고 실행하게 된다.
이때, 평상시 조회가 되지 않는 조건으로 Binding이 될 경우 평상시의 PLAN과 상이하게 해석될 수 있으며, 해당 SQL의 Cursor가 Aging Out 되지 않는 동안에는 PLAN이 유지되게 된다.
Aging Out 된 이후에는 또다시 Column Histogram을 참조하여 PLAN을 세우게 되어 이전과는 상이한 실행계획 이 수립되어 SQL이 실행될 수 있다.
False일 경우에는 일반적인 Query Optimizing 을 하게 된다. (필수적용사항)
alter session set "_optim_peek_user_binds"=false ;