1

我正在设计一个数据库并且遇到了与性能相关的问题。请注意,我们仍处于设计未实施阶段,所以我还不能测试任何东西。

我有以下表结构

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

该表预计将包含数千万个条目。SourceID并且TypeID两个参考表最多包含数百个条目。我想要的是让元组(SourceID, TypeID, Date)在整个表中都是唯一的。问题是:当我在表中插入新项目时,我能否以某种方式指定将使用三列中的哪一列作为第一列来确定唯一性?因为如果索引比较第Date一个,那么加法会比首先使用的要快得多,TypeID对吧?或者这完全是一个错误的问题,我应该相信 SQL 服务器会自行优化?

任何反馈表示赞赏。

4

1 回答 1

2

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

于 2013-08-12T09:37:19.463 回答