相关疑难解决方法(0)

谷歌应用引擎chunkSize&prefetchSize - 我在哪里可以阅读它的详细信息?

关于这两个的所有信息总结为:

CHUNKSIZE

设置块大小.请阅读类javadoc以获取有关如何使用块大小的说明.

PREFETCHSIZE

设置要预取的实体数.

试着看看java文档,以及SVN 中的源代码.没有信息!我的意思是,关于这两者的实际含义的信息.

好吧,prefetchSize或多或少清晰 - 运行查询时获取了多少实体.
如果我的理解是正确的,例如,如果我将查询的限制设置为1000并将prefetchSize设置为1000,它将立即将它们全部读取到内存中.

那么chunkSize呢?这是以字节大小?实体金额?

低/高数的影响是什么,设置为这两个?

java google-app-engine

7
推荐指数
1
解决办法
2056
查看次数

具有限制的数据存储区查询

我正在使用RemoteAPI(Java)来浏览大型数据集,~90K实体,并执行一些数据迁移.

int CHUNK_SIZE = 500;
int LIMIT = 900; 

QueryResultList<Entity> result = ds.prepare(entityQuery)
.asQueryResultList(
    FetchOptions.Builder
    .withPrefetchSize(CHUNK_SIZE)
    .limit(LIMIT)
    .chunkSize(CHUNK_SIZE)
).startCursor(cursor);
Run Code Online (Sandbox Code Playgroud)

与查询LIMIT设置900result.size()是整个数据集,90K〜,而不是900.如果我尝试较低的LIMIT,比方说300,结果大小是预期的一个(300).

我在这里错过了什么?从文档中我无法弄清楚为什么它会产生我在这里描述的行为.

java google-app-engine google-cloud-datastore

6
推荐指数
1
解决办法
1047
查看次数