biee hint 使用

来源:互联网 发布:json解析listview展示 编辑:程序博客网 时间:2024/06/06 10:08

引用于: http://blog.csdn.net/windfo/article/details/6403412


提示这个功能在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;