今天研究了一下关于上次那个PL/SQL Developer工具执行计划中的COST和cardinality,bytes等列值出不来的问题:
情况1:PL/SQL Developer工具是7.0版本以上的,如果你没对SQL中涉及到的表收集统计信息(就是我上次发给你的那个语句),那么执行计划中的COST和cardinality,bytes等列值就都是空的;收集了表的统计信息之后,这个问题就不存在了。(我觉得是工具问题)
情况2:PL/SQL Developer工具是6.0的及7.0以下的老版本,那么不管你怎么玩ORACLE的执行计划,COST和cardinality,bytes等列值都会出来。
对于情况1中,只要SQL中涉及到的表中的其中一张已经收集了统计信息,COST和cardinality,bytes等列值就会出来;如果SQL中所有表都没有收集统计信息,那么COST和cardinality,bytes等列值就没有。
这样的情况9i和10g都测过,情况一样。不知道是什么原因还是工具问题。