【发布时间】:2010-09-20 16:49:30
【问题描述】:
我有一个关于在表 TheTable 上执行 SQL Server 查询的最快方法的问题,该表具有以下字段:TimeStamp、Col1、Col2、Col3、Col4
我不维护数据库,我只是可以访问它。我需要执行 10 次类似的计算:
Col2*Col3 + 5
5*POWER(Col3,7) + 4*POWER(Col2,6) + 3*POWER(Col1,5)
然后我必须使用选定日期的数据(数据库中到目前为止有 8 个月的数据)找到计算结果的 AVG 和 MAX。由于数据每 0.1 秒采样一次,因此每次计算有 864000 行。我想确保查询尽快运行。有没有比这更好的方法:
SELECT AVG(Col2*Col3 + 5),
AVG(5*POWER(Col3,7) + 4*POWER(Col2,6) + 3*POWER(Col1,5)),
MAX(Col2*Col3 + 5),
MAX(5*POWER(Col3,7) + 4*POWER(Col2,6) + 3*POWER(Col1,5))
FROM TheTable
WHERE TimeStamp >= '2010-08-31 00:00:00:000'
AND TimeStamp < '2010-09-01 00:00:00:000'
谢谢!
【问题讨论】:
标签: sql sql-server time max average