I have around 420 million records in my table. There is an only index on column `colC` of `user_table` . Below query returns around 1.5 million records based on 
`colC`. But index is not used somehow and return the records 20 to 25 mins

```sql
select colA ,ColB , count(*) as count 
from user_table 
where colC >='2019-09-01 00:00:00' 
      and colC<'2019-09-30 23:59:59' 
      and colA in ("some static value") 
      and ColB in (17) 
group by colA ,ColB;

```

But when I do force index, it starts getting used and returns the record in 2 mins only. My question why MYSQL is not using index by default when fetch
time is much lesser with index ? I have recreated the index alongwith repair but nothing works to make it in use by default .

Another observation for information is same query(without force index) works for previous months (having same volume of data) .

**Update** For the details asked by Evert

`CREATE TABLE USER_TABLE (
 id bigint(20) unsigned NOT NULL AUTO_INCREMENT,
 COLA varchar(10) DEFAULT NULL,
 COLB int(11) DEFAULT NULL,
 COLC datetime DEFAULT NULL,
 ....
 PRIMARY KEY (id),
 KEY`colA`(`COLA`),
 KEY`colB`(`COLB`),
 KEY`colC`(`COLC`)
) ENGINE=MyISAM AUTO_INCREMENT=2328036072 DEFAULT CHARSET=latin1 |`