在超过一百万条记录的大表中提高搜索速度?

时间:2018-06-25 21:09:08

标签: sql sql-server clustered-index

我有一个具有以下架构的表

CREATE TABLE [Positions]
(
    [ID_1] [int] NOT NULL,
    [ID_2] [varchar](20) NOT NULL,
    [ID_3] [varchar](50) NOT NULL,
    [ID_4] [varchar](3) NOT NULL,
     // ...... extra columns
    [time] [datetime] NULL,

    CONSTRAINT [pk_Positions] 
       PRIMARY KEY CLUSTERED ([ID_1] ASC, [ID_2] ASC, [ID_3] ASC, [ID_4] ASC)

一天中的不同时间多次插入大约50K记录,对于特定插入,ID_1的值保持不变。问题是从一天中的特定时间过滤数据,其中时间指定了插入时间,这对于50k插入也是相同的。

现在我在ID_1上有一个聚集索引,如果我使用ID_1值进行查询,那将很快,但是可以使用时间值查询时间值呢,因为对于所有值都相同50K刀片。与ID_1列相比,时间列不是索引会降低查询速度吗?

0 个答案:

没有答案