关于外键字段是否要加索引的问题
创建两个表
1.DefInspectItem表 其中字段 ID 为主键
2.DataInspect表 其中字段 ItemId 为引用DefInspectItem.Id的外键,我为该字段加上了可以重复的所引
然后我用Visio的反向工程,创建了数据库模型,在使用模型分析功能时给出如下的告警提示
D:\绘图1 : 警告 L4001:“DefInspectItemDataInspect”:表“DataInspect”上
的索引和索引“ItemId”(在同一表上)相同。
再示用DDL生成功能关于该字段有如下两条SQL语句
create index `ItemId` on `DataInspect` (
`ItemId` ASC);
alter table `DataInspect`
add constraint `DefInspectItemDataInspect` foreign key (
`ItemId`)
references `DefInspectItem` (
`ID`);
-------------------------------------------------------------
请问高手,我为ItemId创建的索引是否是个多余的对象?foreign key 在查询时是否可以和索引对象一样提高查询速度?