Hi All,
I am having two nodes cluster grid and  cache model, which has 2126239
records and Ignite query with IN operator taking too long sometimes 17 - 18
seconds and another time around 40 seconds.

Expected result : 30000 to 40000 records.

ignite version: 2.10
Ignite server hosted on linux box and C# .net 6 is the Ignite client

Ignite cache model class

public class TestModel : IBinarizable
{

[QuerySqlField()]
public decimal? Field1 { get; set; }

[QuerySqlField()]
public string Field2 { get; set; }

[QuerySqlField()]
public string Field3 { get; set; }

[QuerySqlField(IsIndexed = true)]
public string Field4 { get; set; }

[QuerySqlField()]
public string Field5 { get; set; }

public void ReadBinary(IBinaryReader reader)
{
if (reader != null)
         {
Field1 = reader.ReadDecimal("field1");
Field2 = reader.ReadString("field2");
Field3 = reader.ReadString("field3");
Field4 = reader.ReadString("field4");
Field5 = reader.ReadString("field5");
 }
}

public void WriteBinary(IBinaryWriter writer)
{
if (writer != null)
         {
writer.WriteDecimal("field1",Field1) ;
writer.WriteString("field2",Field2) ;
writer.WriteString("field3",Field3) ;
writer.WriteString("field4",Field4) ;
writer.WriteString("field5",Field5) ;
}
}

Ignite query execution code
string query = "select Field1,Field2,Field3,Field4 from TestModel where
Field4 in('1','2')";
SqlFieldsQuery fieldsQuery = new SqlFieldsQuery(query);
    ICache.Query(fieldsQuery);


Regards,
Charlin

Reply via email to