Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/oracle/10.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 查看条件:数据库vs内存vs两者_Oracle_Oracle Adf_Jdeveloper - Fatal编程技术网

Oracle 查看条件:数据库vs内存vs两者

Oracle 查看条件:数据库vs内存vs两者,oracle,oracle-adf,jdeveloper,Oracle,Oracle Adf,Jdeveloper,我想知道是否有人知道在ADF中使用查询执行模式的最佳实践是什么?据我所知: 数据库:每次点击查询时,都会从数据库表中筛选搜索结果。 内存中:从VO缓存中筛选结果。它将使用行集中已有的行。它将停止对数据库不必要的点击。 两者:结果都是从现有行集合中筛选出来的,也从数据库中筛选出来的结果中筛选出来的。当您还想从未提交的记录中筛选时,这很有用 我之所以问这个问题,是因为我在使用这两个选项时遇到了一些问题。我的绑定变量没有正确更新 提前谢谢你 根据我的经验,除非需要筛选新创建的且尚未提交的行,否则您应该

我想知道是否有人知道在ADF中使用查询执行模式的最佳实践是什么?据我所知:

数据库:每次点击查询时,都会从数据库表中筛选搜索结果。 内存中:从VO缓存中筛选结果。它将使用行集中已有的行。它将停止对数据库不必要的点击。 两者:结果都是从现有行集合中筛选出来的,也从数据库中筛选出来的结果中筛选出来的。当您还想从未提交的记录中筛选时,这很有用

我之所以问这个问题,是因为我在使用这两个选项时遇到了一些问题。我的绑定变量没有正确更新


提前谢谢你

根据我的经验,除非需要筛选新创建的且尚未提交的行,否则您应该始终使用数据库

以下是数据库与内存以及两者之间的不同用例

数据库模式允许查询数据库表,并确保为用户提供的数据是最新的。如果刚刚创建了新行,但未将其提交到数据库,则在数据库模式下对视图对象应用视图条件将不会显示此新行。这是默认模式

内存模式允许查询视图对象缓存数据。因此,执行查询将显示新创建的行和未提交的行,但不会显示数据库中任何新创建的行

这两种模式都允许显示新创建的行和未提交的行,以及显示数据库中任何新创建的行。但由于某些原因,它通常相当慢

你可以在这里阅读更多内容()

默认情况下,视图对象对数据库执行查询以 检索其结果行集中的行。但是,您也可以使用 查看要在内存中执行搜索和排序的对象以避免 不必要的数据库访问。这种类型的手术是理想的 对视图对象中尚未列出的新行进行排序和筛选 行集;否则,未列出的行将添加到行集的顶部