创建多对多关系时,索引已用作复合主键的2个字段是否正确?
PRIMARY KEY (`lineup_id`, `term_id`) ,
INDEX `lineup_id1_idx` (`lineup_id` ASC) ,
INDEX `term_id1_idx` (`term_id` ASC) ,
MySQL Workbench添加了lineup_id
和term_id
的重建索引,因为我将它们标记为外键。在这种情况下,我是否仍然将它们标记为外键?
答案 0 :(得分:0)
您应该执行此操作的唯一时间是,如果您的查询使用复合键的第二列,则索引从左向右工作。否则,您应该使用单个复合键。或者,您可以创建代理键。
答案 1 :(得分:0)
如果您需要lineup_id
和term_id
的索引,则只能添加INDEX term_id1_idx (term_id ASC)
,PK也适用于lineup_id
。并且还要考虑njk
个建议。