使用SQL Server 2005和2008。
我有一个潜在的非常大的表(潜在数亿行)由下列列:
CREATE TABLE (
date SMALLDATETIME,
id BIGINT,
value FLOAT
)
它正在对列进行了分区date
在日常的分区。 接下来的问题是,如果主键是在date, id
或value, id
?
我可以想像,SQL Server是足够聪明,知道它已经分区上date
,因此,如果我总是查询天的全块,然后我可以在第二次主键拥有它。 或者,我可以想像,SQL Server将需要该列是先在主键来获得分区的好处。
任何人都可以借一些洞察到其中的方式表应键入?