【发布时间】:2014-04-19 00:42:32
【问题描述】:
我在 MSSQL 2008 DB 中有大约 6M+ 行的表 [数据]。 我需要从中获取 MIN 和 MAX 加入一些表并按特定字段分组。
这是查询:
SELECT sites.id,
MIN(data.created),
MAX(data.created)
FROM [data] JOIN
[columns] on data.columnID = columns.id
JOIN [sites] on columns.sitesID = sites.id
GROUP BY sites.id
运行大约需要 20-25 秒,理想情况下应该以毫秒为单位,我相信这可以通过一些智能索引操作来实现。
我该怎么做?
目前我对所有 JOIN 字段都有索引,但这看起来还不够。
谢谢
【问题讨论】:
-
[data].[created]上有索引吗?
标签: sql sql-server query-optimization aggregate-functions min