第1步:运行表单
的查询SELECT field1, field2, ..., fieldn, COUNT(id)
FROM foo
GROUP BY field1, field2, ..., fieldn
记录列数 n ,并记录返回的行数 r1 。
第2步:将查询更改为
SELECT field1, field2, ..., fieldn, COUNT(id)
FROM foo
GROUP BY field1, field2, ..., fieldn
WITH CUBE
记录返回的新行数, r2 。
问题:是否存在计算/预测 r2 的公式/算法,因为我们知道 n 和 r1
答案 0 :(得分:1)
最大行数是每个分组列的唯一值数+ 1的叉积。您可以使用以下方式进行粗略估算:
SELECT (COUNT(DISTINCT field1)+1) * (COUNT(DISTINCT field2)+1)
FROM foo
可能不如您所需,但这是一个开始。