多对多表上的索引

时间:2011-06-11 11:32:49

标签: mysql

目前的设置是:

  • 对象(备注,提醒,文件) - 每个都在单独的表中
  • 实体(客户,项目) - 每个都在单独的表中

对象可以属于很多实体,实体可以有很多对象

关联表如下所示:

  • object_type_id,object_id,entity_type_id,entity_id

您如何处理关联表上的索引?有关设置的任何意见吗?

2 个答案:

答案 0 :(得分:0)

我对数据库的影响不大。但我通常总是索引任何字段作为另一个表的id引用。

所以我可能会索引关联表中的所有字段,因为它们都引用其他表中的数据(或者我假设)。

您可能还应该在关联表中添加主键ID,因此当您不想删除关联时,可以通过主键引用来完成。

答案 1 :(得分:0)

使用mysql,如果使用references关键字将外键定义为实际RI外键,则会在表上自动定义索引。主键也可以获得索引,因此您不必手动定义任何索引。