SQL中的CUBE运算符的复杂性是什么?

时间:2018-12-10 17:26:37

标签: sql database complexity-theory data-warehouse

SQL(Microsoft)或Oracle中的CUBE操作的复杂度(大O表示法)是什么?

例如

SELECT x1, x2, SUM(x3)
FROM xyz
GROUP BY CUBE (x1, x2)

1 个答案:

答案 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 }}。