SELECT NULL AS table_cat,
o.owner AS table_schem,
o.object_name AS table_name,
o.object_type AS table_type,
NULL AS remarks
FROM all_objects o
WHERE o.owner LIKE :1 ESCAPE '/'
AND o.object_name LIKE :2 ESCAPE '/'
AND o.object_type IN ('TABLE', 'SYNONYM', 'VIEW')
ORDER BY table_type,
table_schem,
table_name
해당 쿼리가 도는 것을 뒤늦게 알고 내부동작을 모르고 적용하는게 얼마나 한심한 짓인지 뒤늦게 깨달았다.
해당 SQL을 수행하는 것을 disable 하고 싶었지만 해당 옵션은 존재하지 않았다.
table.poll.interval.ms 값을 무작정 엄청 큰 값으로 올려서 급한 불을 껏다.
근본적인 해결방안에 대한 고민을 시작했다.
binding parameter configuration으로 해결안
해당 slow query에 적절한 binding parameter를 대입하면 해결을 할 수 있지 않을까? 실제로 다른 사용자 중 한명은 query 옵션과 schema.pattern 옵션을 구현 의도와 다른 방법을 적용해 해당 문제를 해결하였다고 하는 사례가 있다. 아래와 같이 적용 시험 테스트를 해보니 문제를 해결할 수 있었다.