@IsraelFonseca - Подумайте об этом так - две колонки можно объединить в одну колонку. Пуф, обсуждение кардинальности исчезло, однако структура и скорость BTree практически идентичны.
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 ;
лице миллион строк. Времена файла в основном различны. Есть конечное числоext
ценности. Так,filetime
имеет высокую мощность иext
имеет гораздо меньшую мощность
Запрос включает в себя какext
а такжеfiletime
:
WHERE ext = '...'
AND filetime BETWEEN ... AND ...
Какой из этих двух показателей лучше? И почему?