549839926 发表于 2014-2-8 10:33:33

11.2.0.3 sql执行计划有问题 返回的结果有逻辑错误

sqlplus环境执行sql

第一个查询报错
第二查询包含了第一个查询 没报错 返回为空

查看计划发现sql被oracle改写了

子查询中的channelid 被当成了子查询外面的表的字段处理

plsql
执行相同的sql 返回了数据


有两个疑问
1同样的sql 为什么sqlplus 和plsql 执行的结果不一样
2为什么会出现
第一个查询报错
第二查询包含了第一个查询 没报错 的情况

Maclean Liu(刘相兵 发表于 2014-2-8 11:30:43

同学 遇到什么都截图 是很坏的习惯

goodwzb 发表于 2014-2-8 14:31:26

那个单独查子查询报错的问题应该是你帖SQL的时候带入了一些不可见字符所造成的,因为我看SQL>提示符和select之间明显多了很多格子(很有可能是非空格的不可见字符)

ksly1227 发表于 2014-2-21 20:52:58

执行计划里 提示动态采集啦,你这个重新收集下统计信息后应该走正确执行计划
页: [1]
查看完整版本: 11.2.0.3 sql执行计划有问题 返回的结果有逻辑错误