![]() |
1
1
更新:我生成了一百万行随机数据,并放弃了递归CTE解决方案,因为它的查询计划没有充分利用优化器中的索引。 但我最初发布的非递归解决方案效果很好,只要在(salditems,[DATE])上有一个额外的非聚集索引。这是有意义的,因为查询需要在两个方向上进行过滤(按日期和按销售日期)。有了这个额外的索引,在我(不是很强壮)的桌面mathine上,一百万行的查询在不到2秒内返回。如果没有这个索引,查询速度会非常慢。
无论如何,我推荐以下解决方案(与我之前发布的非递归CTE相同):
下面是我用来测试这个的DDL,包括您需要的索引:
以下是我放弃的递归CTE解决方案: 声明@SALEDITEMS INT=3;
|
![]() |
2
0
未测试,因为您未提供DDL和示例数据:
|
![]() |
sqlrobert · SQL-如何查找不包含特定字段值的一组记录 1 年前 |
![]() |
Nick Fleetwood · 调度语法的LINQ查询 2 年前 |
![]() |
Mateen Bagheri · 选择表的计数并选择其自身 2 年前 |
![]() |
Java · 使用交叉应用同时显示两列 2 年前 |