Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oracle obie和Bind变量_Oracle_Variables_Oracle11g_Bind_Obiee - Fatal编程技术网

Oracle obie和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将为视图条件生成具有文本

我需要重写OBIEE提出的一些问题

我需要更改bind变量中的所有文本值,但我没有找到如何使用bind变量

有人能帮我吗


谢谢

首先,一句话:

如果将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中的一些函数以使用绑定变量而不是文本