Hi Vladimir, I have tried to reset the group index definition. Using gId and oId as the group index, the time used to retrieve the query reduced to 16ms.
In order to speed up the sql queries, do I need to set all the possible group indexes ? Best regards, Kevin 发件人: Vladimir Ozerov [mailto:[email protected]] 发送时间: 2016年6月6日 16:10 收件人: [email protected] 主题: Re: ignite in-memory sql query performance issue Hi Kevin, Could you please provide the source code of SelectedClass and estimate number of entries in the cache? As Vladislav mentioned, most probably this is a matter of setting indexes on relevant fields. If you provide the source code, we will be able to give you exact example on how to do that. Vladimir. On Mon, Jun 6, 2016 at 5:56 AM, Zhengqingzheng <[email protected]<mailto:[email protected]>> wrote: Hi there, When using sql query to get a list of objects, I find that the performance is really slow. I am wondering, is this normal? I tried to call a sql query as follows: String qryStr = "select * from SelectedClass where field1= ? and field2=?"; SqlQuery<BinaryObject, BinaryObject> qry = new SqlQuery(SelectedCalss.class, qryStr); qry.setArgs( "97901336", "a88"); If I call getAll() method like this: List<Entry<BinaryObject, BinaryObject>> result = cache.withKeepBinary().query(qry).getAll(); It took 160ms to get all the objects (only two objects inside the list) it takes 1ms to get a querycursor object, like this: QueryCursor qc = cache.withKeepBinary().query(qry); But still need 160ms to put the objects into a list and return; Best regards, Kevin
