我正在设计一个数据库并且遇到了与性能相关的问题。请注意,我们仍处于设计未实施阶段,所以我还不能测试任何东西。
我有以下表结构
Events
----------------------
EventID INT PK
SourceID INT FK
TypeID INT FK
Date DATETIME
该表预计将包含数千万个条目。SourceID
并且TypeID
两个参考表最多包含数百个条目。我想要的是让元组(SourceID, TypeID, Date)
在整个表中都是唯一的。问题是:当我在表中插入新项目时,我能否以某种方式指定将使用三列中的哪一列作为第一列来确定唯一性?因为如果索引比较第Date
一个,那么加法会比首先使用的要快得多,TypeID
对吧?或者这完全是一个错误的问题,我应该相信 SQL 服务器会自行优化?
任何反馈表示赞赏。