如果我在一个涵盖2个字段的表上有唯一索引,我应该在每个字段上添加另一个索引吗?
示例:
我的表格如下:
CREATE TABLE IF NOT EXISTS `my_table` (
`ID` int(11) NOT NULL AUTO_INCREMENT,
`usersID` int(11) NOT NULL,
`userTypesID` int(11) NOT NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;
然后我添加一个涵盖usersID
和userTypesID
的唯一索引:
ALTER TABLE `my_table` ADD UNIQUE `usersID_userTypesID` ( `usersID` , `userTypesID` )
是否值得我再添加2个索引,一个在usersID
上,另一个在userTypesID
上? ,例如:
ALTER TABLE `my_table` ADD INDEX ( `usersID` )
ALTER TABLE `my_table` ADD INDEX ( `userTypesID` )
添加这些额外的索引会加快一些查询吗? 例如:
SELECT `usersID`
FROM `my_table`
WHERE `userTypesID` = 101
或者
SELECT `usersTypesID`
FROM `my_table`
WHERE `usersID` = 29