有两表如下
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去掉?
谢谢了!
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去掉?
谢谢了!
我就是问大家,有什么办法在biee中可以将distinct拿掉吗?
同时把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版是没有修复的。