Coluna de cardinalidade mais alta primeiro em um índice ao envolver um intervalo?

CREATE TABLE `files` (
  `did` int(10) unsigned NOT NULL DEFAULT '0',
  `filename` varbinary(200) NOT NULL,
  `ext` varbinary(5) DEFAULT NULL,
  `fsize` double DEFAULT NULL,
  `filetime` datetime DEFAULT NULL,
  PRIMARY KEY (`did`,`filename`),
  KEY `fe` (`filetime`,`ext`),          -- This?
  KEY `ef` (`ext`,`filetime`)           -- or This?
) ENGINE=InnoDB DEFAULT CHARSET=utf8 ;

Há um milhão de linhas na tabela. As filetime são principalmente distintas. Há um número finito deext valores. Assim,filetimetem uma alta cardinalidade eext tem uma cardinalidade muito menor.

A consulta envolve ambosext efiletime:

WHERE ext = '...'
  AND filetime BETWEEN ... AND ...

Qual desses dois índices é melhor? E porque?

questionAnswers(1)

yourAnswerToTheQuestion