ORACLE BIEE DISINTCT 问题.

thinker_yin 2011-02-23 02:09:47
有两表如下
T1 ( A CHAR, B CHAR ) ;
T2 ( A CHAR, C NUMBER(10,2)) ;
需要一列表展示 A , B , C 用biee做了一个简单的报表,通过抓到的会话日志sql
如下: select distinct t3.a, t3.b ,t3.c from (
select distinct t1.a , t1.b , t2.c from t1, t2
where t1.a= t2.a
)t3 ;
是一个很简单的查询 ,但是为什么biee会自动加上一个distinct呢 ?这样性能比不加慢了很多,请问各位大虾,是否在biee某个地方需要配置一个某个参数,就可以将这个distinct去掉?
谢谢了!
...全文
322 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
lele5000 2011-03-19
  • 打赏
  • 举报
回复
有个解决办法是

在物理层把数据库features中的DISTINCT_SUPPORTED的VALUE的勾去掉,
同时把server\Config\DBFeatures.INI中相应数据库的IS_DISTINCT_SUPPORTED参数设置为NO
(这一步不是必须的,这样做只是修改了features中的默认值,以便在做一致性检查的时候不会有警告)


当然,这样做了之后,如果你以后就没办法使用逻辑表中来源中的select distinct values选项了,因为你告诉BIEE你的数据库不支持DISTINCT了。

变通的办法就是,在物理层建立两个数据库,一个设置为支持distinct,一个设置为不支持。


另外,就算你设置成了不支持distinct(生成的SQL中不包含distinct),Answer在报表呈现时还是会去掉重复值,这是一个BUG(bug号为8615188)


据说是在10.1.3.4.0 Linux x86 版本上修复了,反正我的Windows版是没有修复的。


thinker_yin 2011-02-23
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 lzd_83 的回复:]
这样做会影响性能。
[/Quote]
是啊 ,如果加了distinct,首先要去重,很耗时的 。
我就是问大家,有什么办法在biee中可以将distinct拿掉吗?
Rotel-刘志东 2011-02-23
  • 打赏
  • 举报
回复
这样做会影响性能。
minitoy 2011-02-23
  • 打赏
  • 举报
回复
偏门,没用过

17,092

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧