【发布时间】:2011-05-20 12:19:58
【问题描述】:
我目前的版本是:
SELECT DT, AVG(DP_H2O) AS Tx,
(SELECT AVG(Abs_P) / 1000000 AS expr1
FROM dbo.BACS_MinuteFlow_1
WHERE (DT =
(SELECT MAX(DT) AS Expr1
FROM dbo.BACS_MinuteFlow_1
WHERE DT <= dbo.BACS_KongPrima.DT ))
GROUP BY DT) AS Px
FROM dbo.BACS_KongPrima
GROUP BY DT
但运行速度很慢。
基本上在内部选择中,我选择最接近我的时间,然后按这个最近时间分组。
是否有可能的优化?也许我能以某种方式加入它,但麻烦的是我不知道如何按这个最近的日期分组。
谢谢
【问题讨论】:
-
您是否向 BACS_MinuteFlow_1 添加了任何索引?如果您希望加快内部查询,可能值得在 DT 列上添加索引。
标签: sql-server-2005 tsql sql-optimization