时间:2021-07-01 10:21:17 帮助过:6人阅读
问题是这样的:
1 sql> r
2 1 select count(*)
3 2 from t_edu_member_info
4 3* where status='1' and xs_zy='1'
01 执行计划
02 -------------------------------------------------------------------------------------------
03 0 SELECT STATEMENT Optimizer=ALL_ROWS (Cost=1 Card=1 Bytes=10)
04 1 0 SORT (AGGREGATE)
05 2 1 FILTER
06 3 2 INDEX (RANGE SCAN) OF 'IND_T_PREBM4' (NON-UNIQUE) (Cost=1 Card=5 Bytes=50)
07
08 统计信息
09 ----------------------------------------------------------
10 25 recursive calls
11 14 db block gets
12 3 consistent gets
13 1 physical reads
14 972 redo size
15 375 bytes sent via SQL*Net to client
16 372 bytes received via SQL*Net from client
17 2 SQL*Net roundtrips to/from client
18 1 sorts (memory)
19 0 sorts (disk)
20 1 rows processed
这个结果已经跑了几次,但是 recursive calls 依然存在,后来从10046事件产生的trace文件中到了线索。用tkprof格式化trace文件后,可以看到:
1 select count(*)
2 from t_edu_member_info
3 where status='1'
4 and xs_zy='1'
01 call count cpu elapsed disk query current rows
02 ------- ------ -------- ---------- ---------- ---------- ---------- ----------
03 Parse 1 0.01 0.00 0 0 0 0
04 Execute 1 0.78 0.90
bitsCN.com