Apache Ignite SqlFieldsQuery游标问题

时间:2016-11-17 11:30:16

标签: java sql caching ignite

我正在使用SqlFieldsQuery缓存~1_000_000行。

QueryCursor<List<?>> cursor = cache.query(new SqlFieldsQuery("select num from some_cache"))

我已经阅读了查询游标懒惰性质(http://apacheignite.gridgain.org/docs/cache-queries#section-querycursor)。但似乎缓存中的所有数据都是立即加载的。因为我的查询需要很长时间,而cursor.getAll()会立即返回包含所有数据的集合。

是否缺少某些配置或预期的行为?

1 个答案:

答案 0 :(得分:0)

getAll确实一次返回所有行。

QueryCursor扩展Iterable,使用迭代器来利用懒惰。

QueryCursor<List> cursor = cache.query(new SqlFieldsQuery("select num from some_cache"))
for (List l : cursor)
    doSomething(l);