同事碰到个怪问题,一个三个表的关联查询,大概要几秒钟,加上一个限制条件应该更快,结果反而执行的没完没了。

后来看了一下执行计划,发现加上条件以后执行计划天翻地覆,更乱了。
因为平时也不大看这个执行计划,所以也不知道执行计划应该是什么样子。

依稀记得oracle要根据表状态来制定执行计划,这个表状态不是动态的,具体什么时候更新不大清楚。

在控制台里面手动分析了一下DB, 在还没分析完的时候再做查询,查询结果就是“跳”出来了!
再看看执行计划,变得非常简洁明了,NND,原来应该是这样。

为什么状态没有自动更新?
为什么Oracle服务器每天闲着也不分析一下?
k, 还是9.0的高级破烂。

(这些数据是从客户那里导出回来的,可能一直是只读的)
posted on 2004-06-10 18:48  steeven  阅读(5184)  评论(2编辑  收藏  举报