Всем привет!
Где-то слышал, что в любой таблице лучше использовать поле id (int - primary key, auto_increment), мол иначе эффективность будет намного меньше, даже если будут другие индексы.
Вот я задумался, есть у меня такая таблица:
CREATE TABLE IF NOT EXISTS `img` (
`id` int(12) NOT NULL AUTO_INCREMENT,
`md5` varchar(32) NOT NULL,
`time` timestamp NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `md5` (`md5`),
KEY `time` (`time`)
) ENGINE=InnoDB DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
По сути id мне тут вообще не нужен.
Выборка идет по md5 либо, неактуальные записи, дергаю по time.
Вопрос: если убрать id и оставить только md5 и сделать его PRIMARY KEY / UNIQUE KEY, не повлияет ли это на скорость работы когда база разрастется до пару 10кк и нет ли тут ничего страшного?