sql - GroupBy 操作的渐近复杂度是多少?

标签 sql linq complexity-theory big-o

我对无索引数据集上的 GroupBy 操作的渐近复杂性(大 O)感兴趣。最著名的算法的复杂度是多少?SQL 服务器和 LINQ 使用的算法的复杂度是多少?

最佳答案

忽略 group by 正在处理的基本 SQL,当呈现给 GROUP BY 操作本身时,复杂性仅为 O(n),因为数据是按行扫描并在一次传递中聚合的。它线性缩放到 n(数据集的大小)。

当 Group By 添加到复杂查询时,方程发生变化,O(n) 成为 Group By 添加到整个方程的上限;如果内部复杂查询在基本查询的解析中,数据已经排序,则可能会更少。

关于sql - GroupBy 操作的渐近复杂度是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4889669/

相关文章:

linq - 使用 LINQ 追加字符串

algorithm - 在未排序的数组中查找特定比率。时间复杂度

mysql - 添加列作为已选择的另外 2 个操作的结果

c# - 运行时的where条件

sql - WHERE 中不允许使用聚合函数

c# - LINQ for string StartsWith List<string> 中的某个值

algorithm - 如何确定算法函数的复杂度?

java - 如何使用 O(n) 时间复杂度算法查找有效子字符串的数量

php - 以多个单元格值(跨行)作为条件的复杂查询?

MySQL - 触发触发器时重复 PK,但直接插入记录时不重复 PK