Hi, I got a strange thing. I execute a query with JDBC thin mode. But the performance and explain is very strange. The SQL is : SELECT FID,FNUMBER FROM "customerCache".CustomerIgniteInfo WHERE FUSEDSTATUS = 3
and explain is: SELECT __Z0.FID AS __C0_0, __Z0.FNUMBER AS __C0_1 FROM "customerCache".CUSTOMERIGNITEINFO __Z0 /* "customerCache".CUSTOMERIGNITEINFO.__SCAN_ */ WHERE __Z0.FUSEDSTATUS = 3 The entity like this(I have deleted the other fields): @Entity @Table(name="t_customer") public class CustomerIgniteInfo implements Serializable { private static final long serialVersionUID = -8065741098718964203L; @QuerySqlField(index = true, orderedGroups={@QuerySqlField.Group( name = "IX_T_BD_StatusFid", order = 1)}) private String FID; @QuerySqlField( orderedGroups={@QuerySqlField.Group( name = "IX_T_BD_StatusFid", order = 2)}) private String FNUMBER; @QuerySqlField(orderedGroups={@QuerySqlField.Group( name = "IX_T_BD_CUSTOMER", order = 1),@QuerySqlField.Group( name = "IX_T_BD_StatusFid", order = 0)}) private Integer FUSEDSTATUS; /**********Getters and Setters******************/ @Id @GeneratedValue(generator = "personGenerator") @GenericGenerator(name = "personGenerator", strategy = "assigned") @Column(name = "FID") public String getFID() { return FID; } public void setFID(String id) { this.FID = id; } @Column(name = "FNUMBER") public String getFNUMBER() { return FNUMBER; } public void setFNUMBER(String fNUMBER) { FNUMBER = fNUMBER; } @Column(name = "FUSEDSTATUS") public Integer getFUSEDSTATUS() { return FUSEDSTATUS; } public void setFUSEDSTATUS(Integer fUSEDSTATUS) { FUSEDSTATUS = fUSEDSTATUS; } } My ignite version is 2.3. Should this be a full table scan? It took more time. 1. I want to know why this happened. 2. How can I create a correct index? Thanks. Lucky