- Rongsen.Com.Cn 版权所有 2008-2010 京ICP备08007000号 京公海网安备11010802026356号 朝阳网安编号:110105199号
- 北京黑客防线网安工作室-黑客防线网安服务器维护基地为您提供专业的
服务器维护
,企业网站维护
,网站维护
服务 - (建议采用1024×768分辨率,以达到最佳视觉效果) Powered by 黑客防线网安 ©2009-2010 www.rongsen.com.cn
作者:黑客防线网安Oracle维护基地 来源:黑客防线网安Oracle维护基地 浏览次数:0 |
select *
from
t_peeking a where b = :v
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
parse 1 0.00 0.00 0 0 0 0
execute 1 0.00 0.00 0 0 0 0
fetch 68 0.01 0.07 0 406 0 1000
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 70 0.01 0.08 0 406 0 1000
misses in library cache during parse: 1
optimizer mode: choose
parsing user id: sys
rows row source operation
------- ---------------------------------------------------
1000 table access full t_peeking (cr=406 pr=0 pw=0 time=5052 us)
但是,绑定变量窥视对一条语句只会使用一次。就是说,在第一次解析语句时,将绑定变量值考虑进去计算成本生成查询计划。以后在执行该语句时都采用这个查询计划,而不再考虑以后绑定变量的值是什么了。
sql> conn sys/sys as sysdba
connected.
sql>
sql>
sql> set autot trace
sql>
sql> alter session set sql_trace = true;
session altered.
sql>
sql> var v char(1)
sql>
sql> exec :v := 'b';
pl/sql procedure successfully completed.
sql>
sql> select * from t_peeking a where b = :v;
1000 rows selected.
sql>
sql> alter session set sql_trace = false;
session altered.
再用tkprof分析生成的trace文件,看到尽管这里的值是"b",选择索引扫描会更优,但分析结果中查询计划还是使用全表扫描:
select *
from
t_peeking a where b = :v
call count cpu elapsed disk query current rows
------- ------ -------- ---------- ---------- ---------- ---------- ----------
parse 1 0.00 0.00 0 0 0 0
execute 1 0.00 0.00 0 0 0 0
fetch 2 0.00 0.00 0 340 0 2
------- ------ -------- ---------- ---------- ---------- ---------- ----------
total 4 0.00 0.00 0 340 0 2
misses in library cache during parse: 0
optimizer mode: choose
parsing user id: sys
rows row source operation
------- ---------------------------------------------------
2 table access full t_peeking (cr=340 pr=0 pw=0 time=1005 us)
因此,这种情况下使用绑定变量也会导致无法选择最优的查询计划。
综上所述,我们可以得出一个结论:在对建有索引的字段(包括字段集),且字段(集)的集的势非常大时,使用绑定变量可能会导致查询计划错误,因而会使查询效率非常低。
我要申请本站:N点 | 黑客防线官网 | |
专业服务器维护及网站维护手工安全搭建环境,网站安全加固服务。黑客防线网安服务器维护基地招商进行中!QQ:29769479 |