我今天做的一个SP,其中有一个TOP SQL,如下:
Buffer Gets Executions Gets per Exec %Total Time (s) Time (s) Hash Value
--------------- ------------ -------------- ------ -------- --------- ----------
2,815,612 154 18,283.2 9.8 796.07 2191.97 3788037448
Module: JDBC Thin Client
SELECT FILESTATUS.FILEDIR FROM FILESTATUS WHERE FILESTATUS.FILEDIR = :B1 FOR UPDATE NOWAIT
可以看到Buffer Gets和Time都很高,但我实际的执行计划显示却不是这样,如下:
SQL> SELECT FILESTATUS.FILEDIR FROM FILESTATUS WHERE FILESTATUS.FILEDIR = '2005/CD07/CLR_CD07_2005_04_00002715/8CEE0C4E651101150E6246BA69F9E16B'
2 for update nowait;
FILEDIR
--------------------------------------------------------------------------------
2005/CD07/CLR_CD07_2005_04_00002715/8CEE0C4E651101150E6246BA69F9E16B
Execution Plan
----------------------------------------------------------
0 SELECT STATEMENT Optimizer=CHOOSE (Cost=2 Card=1 Bytes=70)
1 0 FOR UPDATE
2 1 INDEX (UNIQUE SCAN) OF 'SYS_C0058509' (UNIQUE) (Cost=2 C
ard=1 Bytes=70)
Statistics
----------------------------------------------------------
0 recursive calls
1 db block gets
3 consistent gets
1 physical reads
220 redo size
569 bytes sent via SQL*Net to client
656 bytes received via SQL*Net from client
2 SQL*Net roundtrips to/from client
0 sorts (memory)
0 sorts (disk)
1 rows processed
请高手解惑,谢谢!
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/9375/viewspace-555078/
,如需转载,请注明出处,否则将追究法律责任。