2010-11-17 26 views
3

我使用SchemeExport创建数据库方案。多对多的表创建时没有主键(只有两个外键)。是否可以创建主键?SchemeExport并为多对多表创建主键

+1

为什么你需要多对多表上的主键? – 2010-11-17 17:58:16

+0

为什么不呢?我可以在没有主键的情况下添加两个(或更多)相同的行,并且搜索操作会更慢。我认为每个表都必须有主键。我错了吗? – Andy 2010-11-17 19:04:24

+1

我找到了关于它的问题http://stackoverflow.com/q/38870/511041。我有选项2。 – Andy 2010-11-17 19:39:10

回答

0

你能发表更多关于你的域名的内容吗? 要在多对多关联上创建代理键并不是一个好选择,并且可能会有更合适的领域建模。

如果您关注性能,请使用索引或unique constraint on both FK columns进行一些对比测试。 我敢肯定,创建代理Id会导致插入性能差,并且不会提高搜索性能,因为搜索几乎总是基于FK列。