【发布时间】:2017-10-14 05:48:23
【问题描述】:
我正在尝试使用 WHERE 子句中的日期时间列从一个相当大的表(大约 9800 万行)中查询数据。大约需要 12 分钟才能完成 - 这显然是不可接受的。查询很简单:
SELECT ID, DateTime1, DateTime2, Value1, Value2
FROM dataTable
WHERE DateTime1 >= '2017-05-15 09:00' AND
DateTime1 <= '2017-05-15 09:30'
表格结构如下:
Column Name | DataType
-------------------------
ID | float
DateTime1 | datetime
DateTime2 | datetime
Value1 | float
Value2 | varchar(20)
该表具有以下索引:
Nonclustered: DateTime1, DateTime2, ID, Value2
【问题讨论】:
-
用您正在使用的数据库标记您的问题。您还应该将
Value1放入索引中。
标签: sql sql-server tsql large-data