事后了解到,这是个统计业务,使用频率较低, 业务人员在使用时发现SQL执行时间长也没有反馈,而且执行时间长短跟统计的时间间隔大小有关,统计一两天也能在几十分钟内完成, 统计一个月可能就要几个小时....代码段, 是一个使用了row_number()分析函数的inline view:
在相同版本的环境进行模拟,错误能够重现:
相同的SQL,在11.2.0.3 版本和12.2.0.1 版本...,都不会出现这种估值错误的情况, 因此可以断定这是个bug...., 不同的版本, 不同的SQL,遇到的bug可能都不一样, 多看看AWR, 多分析一下消耗资源多,执行时间长的SQL, 就能够把这些隐患找出来, 解决了这些隐患, 数据库才能够健康稳定的运行....新版本带来了很多新特性, 但也无一例外的引入了一些新的bug,与bug做斗争,是技术人员自身价值的一种体现.