求助Oracle 的 analyze table
各位CSDN的大牛们,你们好!
本人小白一枚
今天做Oracle存储过程的时候遇到一个很奇怪的问题。
将select出来的数据insert到一张临时表时花费时间特别的长(注:该表在此存储过程中第一次被使用,且一开始就被清空)
然后我将这一段insert和select复制到外面单独执行,能够正确出来数据且花费时间很短(正常)。
后来咨询部门同事,同事建议在插入到这张临时表的时候,先执行以下语句
execute immediate 'analyze table 临时表 compute statistics';
添加之后,果然就能顺利运行了。
然后我问同事,为什么要这么做,他表示也不清楚,只知道以前遇到这个问题就是这么做的。
最后我就被大伙怂恿来到CSDN来向各位大牛请教了。
第一次发帖,请多多指教!
问:出现上述问题的原因是什么?analyze table的本质是什么?