我正在使用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()会立即返回包含所有数据的集合。
是否缺少某些配置或预期的行为?
答案 0 :(得分:0)
getAll
确实一次返回所有行。
QueryCursor
扩展Iterable
,使用迭代器来利用懒惰。
QueryCursor<List> cursor = cache.query(new SqlFieldsQuery("select num from some_cache"))
for (List l : cursor)
doSomething(l);