查找表和使用主键

时间:2010-07-22 10:01:52

标签: sql database database-design

我对DataBase设计有疑问。

我有一个名为CARS的实体表 和 我有一个名为:COLORS

的查找表

表CARS具有:Id,Name 和 表颜色只有:ColorName

Table COLORS有一个简短的颜色列表,而CARS可能有很长的实体列表。

CARS在ID上有一个主键。

我的问题是:

  • 在ColorName上的查找表颜色上添加主键可以提高性能吗?

表CARS将在ID上具有CLUSTERED INDEX。

  • 你是否理解在ColorName上的CARS上有一个CLUSTERED INDEX 非常感谢你的时间!

3 个答案:

答案 0 :(得分:2)

这有点奇怪。您希望COLORS表具有ColorID和ColorName,ColorID上的聚簇索引和CARS表上的外键。如果我理解正确的话。

答案 1 :(得分:2)

聚簇索引可以提高检索或插入的速度,但仅限于以与索引顺序匹配的顺序检索或更新/插入数据时。

否则会降低性能。

要获得更详细的答案,问题需要更具体。

答案 2 :(得分:0)

1 - 如果COLORS是一张短桌,它可能会提高性能,但可能不太明显。

2 - 您只能拥有一个聚集索引,并且从您为ID提供的有限信息更有意义。您将在ColorName中有重复的条目。

为什么不将colorname更改为ColorId,将ID列添加到Colors并将其用作聚簇索引/主键?