偶尔有这种情况,在SQL*PLUS等环境下执行时使用合理索引的SQL语句,在实际应用程序过程中,有时会不当地使用索引,引起db file sequential read
等待,导致性能大幅下降。同样在使用bind变量时也会发生这种问题,应该检查是否正使用bind peeking功能。从 oracle 9i起,基本上在使用bind peeking
功能。这个功能如被激活,即便使用了bind变量的sql语句,也可以利用在最初的执行接到接收的变量值,建立执行计划,因此即便是在测试环境下正常工作
的SQL语句,在实际运行时根据最初值的不同,得到完全不同的执行计划,如果被确认为因为发生这种现象导致db file sequential read等待增加。建议将
_optim_peek_user_binds 隐含参数修改为false,将这个值指定为false后,就无法使用bind peeking功能。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/7194105/viewspace-704165/
,如需转载,请注明出处,否则将追究法律责任。