Это довольно простой вопрос, но я смущен тем, что я читаю в разных местах. У меня есть простая таблица, которая не содержит огромное количество данных (менее 500 строк для любого данного дб характерна) Типичный запрос к этой таблице выглядит следующим образом:Должен ли я использовать несколько индексов с одним столбцом или один индекс с несколькими столбцами?
select system_fields.name from system_fields where system_fields.form_id=? and system_fields.field_id=?
Мой вопрос, я должен иметь отдельный индекс для form_id и один для field_id, или я должен создать индекс для комбинации этих двух полей? Раньше я никогда ничего не делал с индексами с несколькими столбцами.
CREATE TABLE IF NOT EXISTS `system_fields` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`field_id` int(11) NOT NULL,
`form_id` int(11) NOT NULL,
`name` varchar(50) NOT NULL,
`reference_field_id` varchar(1000) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `field_id` (`field_id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=293 ;
Эта связь в основном не имеет значения, так как одна из колонн испытывается против «диапазона». –