为什么生产系统平均执行时间60多秒, 测试执行只有0.55秒, 这个作者没有给出解释....EID"), 可以确定是发生了隐式类型转换, 由此可以推测出E表的ID_ 字段类型应该是varchar2类型(或char), 而B表的EID字段类型应该是varchar2(或char)....我的这个优化方法,如果真如图1执行计划显示的那样, 预期优化后的执行时间也就十几毫秒. 但是再仔细想一想,事实应该并非如此....所以这个SQL就不能按照图1执行计划显示的数据去优化....总结:
原文作者通篇没有提到为什么要使用hash join的执行计划(跟图1所示执行计划的优化思路是不符的,相反的).这种估值明显不准的执行计划, 一般在调试时会生成带A-rows的执行计划.