本文共 530 字,大约阅读时间需要 1 分钟。
先做个简要笔记今天,帮同事导数据,从开发环境导到测试环境中,发现一个查询变的很慢。查看执行计划,发现居然用了全表扫描(表中大约300w条记录),为啥不用索引呢,查看索引状态,一切正常。晕。
肯定是索引的问题,先分析一下表再说。 analyze table ysgl_compile_reqsub compute statistics for all indexes;正常了。
------------------------------------------------------
一个论坛上的帖子:
Analyze table对Oracle性能的提升
url:大家来讨论一下这个优化课题 我自己碰到的一个实际情况: 一个sql语句执行要1个小时,有时候还出不了结果,但分析sql涉及的表后,然后重新执行3分钟搞定! 真的有这样惊人的差异?
世事无绝对,有时候你可能发现会变慢
了解了CBO和RBO你就知道区别了annlyze表会增加CBO执行的性能?不一定的。
我就碰到一个语句分析后要执行30多分钟,删除分析后,只要30秒。 很多情况下不一定的,最好是自己从执行计划判断
这又要去理解ORACLE优化器了 = = 我到底能不能开始看第25页了?
转载地址:http://nvrli.baihongyu.com/