GAE/J低级API:FetchOptions用法

问题描述:

对于使用限制,预取大小和块大小的FetchOptions,我应该知道些什么?该docs说以下内容:GAE/J低级API:FetchOptions用法

PREFETCHSIZE是在第一次调用 数据存储检索结果 的数量。

CHUNKSIZE决定了Iterator 通过 PreparedQuery.asIterator返回的内部 分块策略(类别FetchOptions)

...

PREFETCHSIZE和CHUNKSIZE对PreparedQuery, 的结果没有影响 而只是PreparedQuery的性能 。

我不太确定如何在愤怒中使用它。不同选项的性能影响是什么?你所做的任何改变的例子都能提高性能?

设置更大的chunkSize/prefetchSize将提高对大型结果集的迭代性能,但同时也会增加延迟。所以当你知道你要迭代大的结果集时,更大的值应该会更好。

+0

谢谢。有关您应该使用的相对大小的任何意见?例如。保持块和预取相同的大小?他们应该何时与众不同? – 2010-01-03 20:39:17

+0

为了我在大多数实际情况下的理解,这个参数应该是相等的。 我可以想象的唯一事情是,当您对所需的结果集大小(这是设置更大的预取大小的理由)具有非常好的估计结果并且需要显着更多结果的低概率时(设置原因小块大小)。 – user242726 2010-01-04 00:33:39