相关疑难解决方法(0)

SQL组按年,月,周,日,小时SQL与程序性能

我需要编写一个查询,按年度到小时的时间段对大量记录进行分组.

我最初的方法是在C#中以程序方式决定周期,迭代每个周期并运行SQL以获取该周期的数据,随时构建数据集.

SELECT Sum(someValues)
FROM table1
WHERE deliveryDate BETWEEN @fromDate AND @ toDate
Run Code Online (Sandbox Code Playgroud)

我后来发现我可以使用Year(),Month()Day()和datepart(week,date)和datepart(hh,date)对记录进行分组.

SELECT Sum(someValues)
FROM table1
GROUP BY Year(deliveryDate), Month(deliveryDate), Day(deliveryDate)
Run Code Online (Sandbox Code Playgroud)

我担心的是,由于无法有效地使用datetime字段上的索引,因此在group by中使用datepart会导致比在一段时间内多次运行查询更糟糕的性能; 有关这是否属实的任何想法?

谢谢.

sql sql-server performance

22
推荐指数
4
解决办法
8万
查看次数

标签 统计

performance ×1

sql ×1

sql-server ×1