SQL中多维数据集运算符的复杂性是什么?

SQL中多维数据集运算符的复杂性是什么?,sql,database,complexity-theory,data-warehouse,Sql,Database,Complexity Theory,Data Warehouse,在SQL(Microsoft)或Oracle中,CUBE操作的复杂性(大O表示法)是多少 e、 g 复杂性在于: 2^c * n log(n) 其中: c = number of columns in the cube n = number of rows in the table 2^c适用于所有列的组合nlog(n)用于聚合运算符——它通常相当于在没有索引的情况下进行排序 因为c从来没有那么大过——例如,10将生成许多行——我们可以将其视为常量(在这种情况下为1000000),并说该操作

在SQL(Microsoft)或Oracle中,
CUBE
操作的复杂性(大O表示法)是多少

e、 g

复杂性在于:

2^c * n log(n)
其中:

c = number of columns in the cube
n = number of rows in the table
2^c
适用于所有列的组合
nlog(n)
用于聚合运算符——它通常相当于在没有索引的情况下进行排序


因为
c
从来没有那么大过——例如,10将生成许多行——我们可以将其视为常量(在这种情况下为1000000),并说该操作本质上是
n log(n)

,不能用给定的信息来回答。这取决于表上的索引、使用的数据库版本、是否会将内存溢出到页面文件、并发进程的数量等等……我理解@MatBailie——最坏情况下的复杂性如何?因此,假设没有索引等。
CUBE
可以重写为多个
SELECT
语句,那么对于
CUBE(x1,…,xn)
来说,这有多复杂(多少)?
c = number of columns in the cube
n = number of rows in the table