我有一个包含数百万行的表(tblContracts)。当前,ContractID列是一个群集的(索引)主键。该表上运行着各种报告,这些报告也联接到另外两个表中(在ContractID列上)。大多数报告都使用WHERE子句引用日期列(tblContracts.StartDate)
我计划通过将ContractID列设置为非聚集索引并将tblContracts.StartDate列设置为聚集来更改表设计。想法是大多数选定的列都来自tblContracts表,并且如果根据StartDate列在磁盘上对数据进行排序,则WHERE子句(以及该表上的select语句)将运行得更快。我担心的是-这样是否会对连接(位于ContractID列上的连接)产生不利影响?