没有循环的行生成

问题描述 投票:0回答:1

微软展示了非常有趣的演示(https://www.youtube.com/watch?v=oEpJB87Xg9U),它们为空表生成了500万行

screenshot

正如我所看到的,没有循环或对具有500万行的其他表的引用。我希望这里有10行。我在这里错过了什么?

sql-server common-table-expression data-generation
1个回答
1
投票

FROM子句使用旧式连接语法,并指定了9次a CTE。这实际上是10排CTE的CROSS JOIN笛卡尔积,因此产生10 * 10 * 10 * 10 * 10 * 10 * 10 * 10 * 10行,但由于TOP条款,仅返回5000000。

有关使用较新的this answer语法的技术示例,请参阅CROSS JOIN,该语法在我的盒子上大约6分钟内生成了20亿行。

© www.soinside.com 2019 - 2024. All rights reserved.