为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:dm 8
【操作系统】:Redhat 7
【CPU】:4
【问题描述】*:执行计划步骤看不懂。
具体如下:
SQL> SQL> SQL> set autotrace trace;
sf_set_session_para_value('MONITOR_SQL_EXEC',1);
SQL> DMSQL executed successfully
used time: 0.256(ms). Execute id is 31611.
SQL>
SQL> select empno,ename,loc from emp e,dept d where e.deptno=d.deptno;
LINEID EMPNO ENAME LOC
1 1 dog NEW YORK
2 7934 MILLER NEW YORK
3 7902 FORD DALLAS
4 7900 JAMES CHICAGO
5 7876 ADAMS DALLAS
6 7844 TURNER CHICAGO
7 7839 KING NEW YORK
8 7788 SCOTT DALLAS
9 7698 BLAKE CHICAGO
10 7654 MARTIN CHICAGO
11 7566 JONES DALLAS
12 7521 WARD CHICAGO
13 7499 ALLEN CHICAGO
14 7369 SMITH DALLAS
14 rows got
1 #NSET2: [1, 14->14, 186]
2 #PRJT2: [1, 14->14, 186]; exp_num(3), is_atom(FALSE)
3 #HASH2 INNER JOIN: [1, 14->14, 186]; LKEY_UNIQUE KEY_NUM(1);
4 #CSCN2: [1, 4->4, 78]; INDEX33555460(DEPT)
5 #CSCN2: [1, 14->14, 108]; INDEX33555462(EMP)
used time: 3.916(ms). Execute id is 31612.
SQL>
SQL>
SQL>
SQL> et(&EXCUTE_ID);
input EXCUTE_ID value:31612
old value 1:et(&EXCUTE_ID);
new value 1:et(31612);
LINEID OP TIME(US) PERCENT RANK SEQ N_ENTER HASH_USED_CELLS HASH_CONFLICT
1 DLCK 4 0.12% 6 0 2 0 0
2 PRJT2 7 0.21% 5 2 4 0 0
3 CSCN2 36 1.06% 4 4 2 0 0
4 CSCN2 45 1.33% 3 5 2 0 0
5 NSET2 140 4.12% 2 1 3 0 0
6 HI3 3164 93.17% 1 3 6 4 0
6 rows got
#在et查看执行计划后,HI3 步骤看不懂时啥意思?该步骤消耗占用93%,请问这个是什么意思?这个SQL走这个计划是不是最优的?
谢谢!
HI3就是计划中这一行的简写
3 #HASH2 INNER JOIN: [1, 14->14, 186]; LKEY_UNIQUE KEY_NUM(1);
你的表一个14行,一个4行,对于这么小的数据此计划没有问题