Vev*_*rke 7 sql-server group-by sql-server-performance window-functions
虽然一对夫妇的问题在已经发布的SO约之间的区别Over Partition By和Group By,我没有找到一个明确的结论,关于执行更好.
我在SqlFiddle上设置了一个简单的场景,其中Over (Partition By)似乎有一个更好的执行计划(但我并不熟悉它们).
表中的数据量是否应该改变这个?难道Over (Partition By)那么最终执行得更好?
窗口函数的执行计划明显不如group by的执行计划(整个group by执行计划都包含在窗口函数执行计划的右上角)。一般来说,SQL 对于 group by 的优化比使用 over 子句更好,但是每种都有其用途。例如,如果您想为每个条目输出一行以及该组的总和,那么窗口化可能更有意义(例如A.id|B.b1|sum B.b1 over A.id)。既然你不这样做,那么它确实不这样做。您基本上是使用分组依据,然后再次采用不同的值,而不是仅使用分组依据所暗示的不同值。
| 归档时间: |
|
| 查看次数: |
5267 次 |
| 最近记录: |