Oracle obie和Bind变量
我需要重写OBIEE提出的一些问题 我需要更改bind变量中的所有文本值,但我没有找到如何使用bind变量 有人能帮我吗Oracle obie和Bind变量,oracle,variables,oracle11g,bind,obiee,Oracle,Variables,Oracle11g,Bind,Obiee,我需要重写OBIEE提出的一些问题 我需要更改bind变量中的所有文本值,但我没有找到如何使用bind变量 有人能帮我吗 谢谢首先,一句话: 如果将ADF(Oracle应用程序开发框架)与OBIEE一起使用,则ADF层中有一个设置,允许我们指定如何处理VOs上激发的查询中使用的视图条件和WHERE子句 默认情况下,adf-config.xml中的设置usebindvarsforviewcriterialliterals设置为“False”。如果此设置为False,则ADF将为视图条件生成具有文本
谢谢首先,一句话: 如果将ADF(Oracle应用程序开发框架)与OBIEE一起使用,则ADF层中有一个设置,允许我们指定如何处理VOs上激发的查询中使用的视图条件和WHERE子句 默认情况下,adf-config.xml中的设置
usebindvarsforviewcriterialliterals
设置为“False”
。如果此设置为False,则ADF将为视图条件生成具有文本的SQL,这可能会在数据库的共享池区域中引起争用。
如果我们将adf-config.xml中的设置更改为“True”
adf将为所有视图标准生成带有绑定变量的SQL
但是,不应为BI(OBIEE)更改此设置,因为BI不支持查询中的绑定变量。如果我们在OBIEE查询/报告中看到任何使用Bind变量的查询(或其相关日志),则可能是由于上述设置
对于BI,此设置应保留为默认值,即“False”
快速回答:似乎obie无法使用绑定变量代替文本
现在,约束绑定变量背后的原因是:
在数据仓库中,不是运行比如1000条语句
每秒,它们执行的操作类似于平均需要100秒来运行单个查询。
在这些系统中,查询很少,但很大(它们会提出很大的问题)。这里,这个
解析时间的开销只是整个执行时间的一小部分。即使你
有成千上万的用户,他们不是在后面等待解析查询,而是
而是在等待查询完成以获得答案
在这些系统中,使用绑定变量可能会适得其反。这里是
查询的长度以秒、分钟、小时或更长为单位。目标是得到最好的
查询优化计划可以减少运行时间,而不是执行尽可能多的OLTP,
尽可能地用十分之一秒的时间进行查询。因为优化器的目标不同,所以规则
改变
有时,使用bind变量会迫使优化器提出最佳的通用计划,而这实际上可能是特定查询的最差计划。在查询需要相当长时间才能执行的系统中,绑定变量会删除优化器本可以用来制定高级计划的信息。事实上,一些特定于数据仓库的特性由于使用绑定变量而失效。例如,Oracle支持数据仓库的星型转换功能,可以大大减少查询所需的时间。但是,阻止星型转换的一个限制是查询包含绑定变量。您是否试图在OBIE生成到Oracle DB的查询中使用绑定变量?是的,如果这是正确的方法。现在我还不太了解OBIEE的功能,我是dba oracle,我需要更改OBIEE中的一些函数以使用绑定变量而不是文本