将行提取的 Oracle 大小设置得更高会使我的应用变慢?
如此处所述并在此处确认,通过 JDBC 查询数据时,Oracle 返回的默认行数为 10。我正在开发一个应用程序,该应用程序必须从我们的数据库中读取和比较大量数据。我认为,如果我们只是增加到1000左右,那么我们的应用程序肯定会表现得更快。事实证明,它的表现更慢,大约20%。defaultRowPrefetch
然后,我们决定将数字从10慢慢增加,看看它的表现如何。通过将它设置在100到200之间,我们已经看到大约增加了10%。但是,我从未想过,将其设置得更高会使我们的应用程序运行得更慢。任何想法为什么会发生这种情况?
谢谢!
编辑:
只是为了澄清,我使用的是Oracle 11g R2和Java 6。
编辑2:
好吧,我想重申我的问题,因为从下面的答案来看,我没有正确地表达自己:
如果我设置了较高的抓取大小,我的应用的性能怎么可能变慢?对我来说,这听起来像是在说“我们给你一个更快的互联网连接,即一个更胖的管道,但你的网页浏览会更慢。
在所有其他条件相同的情况下,正如我们在测试中所做的那样,我们非常好奇只有这一个更改,我们的应用程序如何表现得更糟。