I have a use case where I would like to store a record that has some QuerySqlField attributes but also a non-queriable list of child objects. Something like this:
public class Portfolio { @QuerySqlField(index = true) private int portCode; @QuerySqlField private String fullName; // Other query fields private List<Position> positions; } The idea is that the cache can be queried for summary data using a SqlFieldsQuery, or the whole object can be retrieved and processed by a task. I anticipated that performing a SqlFieldsQuery on indexed fields would always be fast - as there is no need to deserialise the positions. However, tests indicate that when the cache size exceeds 1M positions (say 1000 portfolios, 1000 positions), the queries become very slow - at least an order of magnitude slower than would be the case with small numbers of positions. Is the above a valid usecase? Are we getting something wrong, or is it necessary to split the Portfolio into two separate caches? Thanks in advance, Colin. -- Sent from: http://apache-ignite-users.70518.x6.nabble.com/