有没有办法改善我的查询
SELECT *
FROM StringControllerDaten
WHERE StringControllerDaten.Erstellt NOT IN
(
SELECT
Min(Erstellt) AS Erstellt
FROM StringControllerDaten
GROUP BY
StringControllerDaten.StringController,
DATEPART(YEAR, Erstellt),
DATEPART(MONTH, Erstellt),
DATEPART(DAY, Erstellt),
DATEPART(HOUR, Erstellt),
(DATEPART(MINUTE, Erstellt) / 15)
)
此查询返回所有与15Min Interval中的最小日期时间之一不匹配的数据。
它再次运行+ 1Mio Row并且需要数小时。
估算的查询计划
答案 0 :(得分:2)
让我们说这个表看起来像:
CREATE TABLE [dbo].[AllDates]
( COLUMN Item DATETIME)
将您的表格与1中的列表进行交叉比较。
SELECT
StringControllerDaten.ID -- or what you need
FROM
StringControllerDaten
WHERE
StringControllerDaten.Erstellt NOT IN (SELECT AllDates.Item FROM AllDates)
答案 1 :(得分:0)
这个帖子中的最高答案可以帮助你吗?
编辑:仍然需要弄清楚如何将npm install
纳入内部联接
Complex join with nested group-by/having clause?
achinda99写道:"在大多数数据库系统中,JOIN的工作速度比执行WHERE ... IN更快。"
没有办法测试atm,tho。