MS SQL中复合UNIQUE约束的比较顺序

时间:2013-08-12 09:31:23

标签: sql sql-server

我正在设计一个数据库并遇到与性能相关的问题。请注意,我们仍然处于未实施的设计阶段,因此我无法测试任何内容。

我有以下表结构

Events
----------------------
EventID      INT    PK
SourceID     INT    FK
TypeID       INT    FK
Date         DATETIME

该表预计包含数千万条目。 SourceIDTypeID两个引用表最多包含数百个条目。 我想要的是让整个表格中的元组(SourceID, TypeID, Date)独一无二。问题是:当我在表格中插入新项目时,我可以以某种方式指定三列中的哪一列将用作确定唯一性的第一列吗? 因为如果索引首先比较Date,那么添加会比例如首先使用TypeID更快,对吧?或者这是一个错误的问题,我应该相信SQL服务器自己优化它?

感谢任何反馈。

1 个答案:

答案 0 :(得分:2)

为支持唯一约束而创建的基础索引将具有与约束定义相同的列顺序。