没有循环的行生成
Rows generation without loops
Microsoft 展示了非常有趣的演示 (https://www.youtube.com/watch?v=oEpJB87Xg9U),其中他们为一个空 table
生成了 500 万行
如我所见,没有循环或对其他 table 的 500 万行的引用。我希望这里有 10 行。我在这里错过了什么?
FROM
子句使用旧式连接语法,a
CTE 指定了 9 次。这实际上是 10 行 CTE 的 CROSS JOIN
笛卡尔积,因此生成 10*10*10*10*10*10*10*10*10 行,但由于 [=13 仅返回 5000000 =] 子句。
请参阅 this answer 了解使用更新的 CROSS JOIN
语法的此技术的示例,它在我的机器上大约 6 分钟内生成了 20 亿行。
Microsoft 展示了非常有趣的演示 (https://www.youtube.com/watch?v=oEpJB87Xg9U),其中他们为一个空 table
生成了 500 万行如我所见,没有循环或对其他 table 的 500 万行的引用。我希望这里有 10 行。我在这里错过了什么?
FROM
子句使用旧式连接语法,a
CTE 指定了 9 次。这实际上是 10 行 CTE 的 CROSS JOIN
笛卡尔积,因此生成 10*10*10*10*10*10*10*10*10 行,但由于 [=13 仅返回 5000000 =] 子句。
请参阅 this answer 了解使用更新的 CROSS JOIN
语法的此技术的示例,它在我的机器上大约 6 分钟内生成了 20 亿行。