쿼리에 바인드 변수가 많이 있는데.. 각 변수별로 값을 대입해서 확인해보는데 한계가 좀 있어서요.
바인드변수를 그대로 쓰면서 실행계획을 확인하는 방법이 있나요?
..... WHERE A.id = :h_id AND B.xcu = :h_xcu .....
Orange 와 같은 툴에서는 기본적으로 확인가능하십니다.
지금 말씀하신 상황은 SQL*Plus 사용중이라 생각되어 지네요.
-- -- @$ORACLE_HOME/rdbms/admin/utlxplan.sql -- 을 통해 plan_table 이 생성되어 있어야 합니다. -- EXPLAIN PLAN SET STATEMENT_ID = 'st1' -- 식별가능한 임의 id 부여 INTO plan_table FOR SELECT * FROM dual WHERE dummy = :v1 / SELECT PLAN_TABLE_OUTPUT FROM TABLE(DBMS_XPLAN.DISPLAY( 'PLAN_TABLE', 'st1', 'ALL' )) /
알려주신대로 오렌지 트라이얼버전을 설치하고 보니 Explain Plan 은 잘 보이네요.
그런데...제가 원하는건 아래처럼.. gather_plan_statistics 로 보고자 하는겁니다. 방법이 있나요?
ALTER SESSION SET STATISTICS_LEVEL = ALL;
SELECT /*+ gather_plan_statistics*/ COUNT(*) FROM ( 쿼리문~~~ );
SELECT * FROM table(DBMS_XPLAN.DISPLAY_CURSOR(null,null,'allstats last'));