Hi,

    I am trying to execute a group by query on 86k items in a cache which is 
taking 70 ms which imo is quite slow
Can anyone please let me know what is that I may be doing wrong?
Model code:

@Data

@ToString

@QueryGroupIndex.List(@QueryGroupIndex(name = "idx1"))

public class A implements Serializable {

 @QuerySqlField(index = true, orderedGroups = {@QuerySqlField.Group(name = 
"idx1", order = 5)})

    private long id;

    @QuerySqlField(index = true, orderedGroups = {@QuerySqlField.Group(name = 
"idx1", order = 4)})

    private long secondId;

    @QuerySqlField(index = true, orderedGroups = {@QuerySqlField.Group(name = 
"idx1", order = 3)})

    private long timestamp;

    @QuerySqlField(index = true, orderedGroups = {@QuerySqlField.Group(name = 
"idx1", order = 2)})

    private long thirdId;

    @QuerySqlField(index = true, orderedGroups = {@QuerySqlField.Group(name = 
"idx1", order = 1)})

    private long fourthId;

    @QuerySqlField(index = true, orderedGroups = {@QuerySqlField.Group(name = 
"idx1", order = 0)})

    private long mainId;    
}
Main class for query:
private void startCache(){    
    CacheConfiguration<Long, A> cacheConfig = new 
CacheConfiguration<>("testcache");

    cacheConfig.setCacheMode(CacheMode.PARTITIONED);


    cacheConfig.setBackups(0);

    cacheConfig.setIndexedTypes(Long.class, A.class);
}
private void grouByQuery() {

        IgniteCache<Long, Bet> cache = Ignition.ignite().cache("testcache");

        SqlFieldsQuery qry = new SqlFieldsQuery("select mainId, count(*) from 
Bet group by mainId order by count(*) desc limit 20");

        Collection<List<?>> res = cache.query(qry).getAll();

    }

Thanks.  

Reply via email to