我对无索引数据集上的 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/