GAE/J低级API:FetchOptions用法
问题描述:
对于使用限制,预取大小和块大小的FetchOptions,我应该知道些什么?该docs说以下内容:GAE/J低级API:FetchOptions用法
PREFETCHSIZE是在第一次调用 数据存储检索结果 的数量。
CHUNKSIZE决定了Iterator 通过 PreparedQuery.asIterator返回的内部 分块策略(类别FetchOptions)
...
PREFETCHSIZE和CHUNKSIZE对PreparedQuery, 的结果没有影响 而只是PreparedQuery的性能 。
我不太确定如何在愤怒中使用它。不同选项的性能影响是什么?你所做的任何改变的例子都能提高性能?
答
设置更大的chunkSize/prefetchSize将提高对大型结果集的迭代性能,但同时也会增加延迟。所以当你知道你要迭代大的结果集时,更大的值应该会更好。
谢谢。有关您应该使用的相对大小的任何意见?例如。保持块和预取相同的大小?他们应该何时与众不同? – 2010-01-03 20:39:17
为了我在大多数实际情况下的理解,这个参数应该是相等的。 我可以想象的唯一事情是,当您对所需的结果集大小(这是设置更大的预取大小的理由)具有非常好的估计结果并且需要显着更多结果的低概率时(设置原因小块大小)。 – user242726 2010-01-04 00:33:39