SQL(Microsoft)或Oracle中的CUBE
操作的复杂度(大O表示法)是什么?
例如
SELECT x1, x2, SUM(x3)
FROM xyz
GROUP BY CUBE (x1, x2)
答案 0 :(得分:3)
复杂度是:
2^c * n log(n)
其中:
c = number of columns in the cube
n = number of rows in the table
2^c
用于列的所有组合。 n log(n)
用于聚合运算符-通常等效于没有索引的排序。
因为c
从来没有那么大-例如,10会产生很多行-我们可以将其视为一个常量(在这种情况下为1,000,000),并说该操作本质上是{{1 }}。