SQL-1索引有2列或多个索引

时间:2017-06-16 09:49:37

标签: sql-server performance clustered-index non-clustered-index

考虑使用sql表Employer。

A列 - (int)唯一标识列。作为where子句的一部分,不在select查询中使用。

B列 - (int)非唯一列。在select子句中经常用作where子句的一部分。

以下哪个索引选择更适合设计数据库表以实现低维护的良好性能

1)A列上有1个集群唯一主键,B列上有1个非聚集索引

OR

2)B列上的1个集群唯一主键A(复合主键)

OR

3)A列上的1个非群集,唯一的主键和B列上的1个聚簇索引

欢迎任何其他建议。提前致谢

2 个答案:

答案 0 :(得分:0)

选择选项1.
创建主键时始终以最短的列为目标。原因是该列将用于所有其他索引。此外,我希望当你说出身份时,你并不是指随机生成的价值,因为这会损害你的写作表现。

答案 1 :(得分:0)

选择第一个,第二个将填充大空间,因为它是聚集的并且难以伴随,因为它是复合的。首先选择你会有一个小索引,很容易陪伴