BIEE中oracle提示(hints)的使用

提示这个功能在BIEE日常报表中应用并不多,当然也仅能在连接的数据源是oracle的时候才可用。。。但是对于特定的需求还是很有用的。

 

SQL> select count(*)
  2  from  cndss.cn_p4p_analy_query_sumwt0
  3  where yyyymmdd=to_date('20110425','yyyymmdd');

  COUNT(*)
----------
   3177524

 

 

SQL> CREATE INDEX cndss.idx_p4p_query_sumwt0_query ON cndss.cn_p4p_analy_query_sumwt0(keywords);

Index created.

 

接着在administration 物理层设置表的属性:


 

dashboard中很简单的一个查询界面:

 

 

再看看会话管理中的sql长啥样:

 

提示确实生效了!

测试发现,在这样一个数据量下,加入提示后,运行时间从原来的十几秒减少到1秒左右。

 

总结:在图一的hint里填写的内容是index(表名 索引名) ,这里的表名和索引名都是带schema的完整名称。记得之前有看过说如果表有别名的话,在提示中要写表的别名而不是表名,否则提示无效。。。可见物理层写的提示被BIEE只能地处理了。。。

另外提示的使用还是要遵循在oracle中的使用规则。。。只是在非常必要的时候才建议使用,而且并不是一个长期方案。

由于报表中的数据每天刷新,难免会有删除插入更新等操作,这会导致索引失效,所以定期索引重建是必要的:

alter index cndss.idx_p4p_query_sumwt0_query rebuild;

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值