|
yezhizi_weixb 发表于 2015-1-4 22:56 ![]()
我觉得还是加hint 比较好,在表上家并行度的话,也影响以后的查询。还有看看索引能不能用到,count(*) y用 ...
因为Hint的特殊作用,所以对于开发人员不应该在代码中使用它,Hint 更像是Oracle提供给DBA用来分析问题的工具 。在SQL代码中使用Hint,可能导致非常严重的后果,因为数据库的数据是变化的,在某一时刻使用这个执行计划是最优的,在另一个时刻,却可能很差,这也是CBO 取代RBO的原因之一,规则是死的,而数据是时刻变化的,为了获得最正确的执行计划,只有知道表中数据的实际情况,通过计算各种执行计划的成本,则其最优,才是最科学的,这也是CBO的工作机制。 在SQL代码中加入Hint,特别是性能相关的Hint是很危险的做法。
关于Oracle Hint的用法我看了http://blog.csdn.net/tianlesoftware/article/details/4969702,可能不适合我,我是开发这一块的,这个应该用不了,非常感谢你的提醒,涨知识了 |
|