给出以下MySQL表(InnoDB类型):
CREATE TABLE `table` (
`id` INT NOT NULL,
`foo_id` INT NOT NULL,
`bar_id` INT NOT NULL,
`name` VARCHAR NOT NULL,
PRIMARY KEY (`id`),
INDEX `on_foo_id` (`foo_id`),
INDEX `on_bar_id` (`bar_id`),
UNIQUE `on_foo_bar_id` (`btl_foo_id`, `btl_bar_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
注意:即使我没有使用MySQL FOREIGN KEY约束(我是Rails开发人员在应用级别处理此问题),列foo_id
& bar_id
是外键。
由于存在:
bar_id
的索引foo_id
,bar_id
)的索引 ...我想知道foo_id
上的索引是否真的相关。即使没有明确地将此列声明为索引,MySQL也可能已经索引foo_id
。
换句话说,是否可以删除此行:
INDEX `on_foo_id` (`foo_id`),
没有改变表演?
谢谢你的光。