优化25+百万行的查询
我正在使用MS SQL,并且必须在同一表上以不同条件运行多个查询。最初,我在原始表上运行了每个查询,尽管它们都共享一些过滤条件(即日期,状态)。这花费了很多时间(大约2分钟)。 数据行中有重复项,并且所有索引都是非聚集的。我只对4列的标准感兴趣,并且结果应仅输出所有查询的计数。 列需要:TABLE,FIELD,AFTER,DATE,并且对每一个的索引DATE和TABLE。 在仅创建了我需要的字段的临时表之后,它降到了1:40分钟,这仍然非常糟糕。 CREATE TABLE #TEMP ( TABLE VARCHAR(30) NULL, FIELD VARCHAR(30) NULL, AFTER VARCHAR(1000) NULL, DATE DATETIME, SORT_ID INT IDENTITY(1,1) ) CREATE CLUSTERED INDEX IX_ADT ON #TEMP(SORT_ID) INSERT INTO #TEMP (TABLE, FIELD, AFTER, DATE) SELECT TABLE, FIELD, AFTER, DATE FROM mytbl WITH (NOLOCK) WHERE TABLE = 'OTB' …