--1.用CTE递归测试 DBCC DROPCLEANBUFFERS DBCC FREEPROCCACHE SET STATISTICS TIME ON ;WITH t AS ( SELECT 1 AS num UNION ALL SELECT num+1 FROM t WHERE num<100000 ) SELECT * FROM t OPTION(MAXRECURSION 0) SET STATISTICS TIME OFF /* DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。 DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。 (100000 行受影响) SQL Server 执行时间: CPU 时间 = 2297 毫秒,占用时间 = 3536 毫秒。 */ --2.用通过系统表生成行号测试 DBCC DROPCLEANBUFFERS DBCC FREEPROCCACHE SET STATISTICS TIME ON SELECT TOP 100000 num=ROW_NUMBER()OVER(ORDER BY GETDATE()) FROM syscolumns a,syscolumns b SET STATISTICS TIME OFF /* DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。 DBCC 执行完毕。如果 DBCC 输出了错误信息,请与系统管理员联系。 (100000 行受影响) SQL Server 执行时间: CPU 时间 = 0 毫秒,占用时间 = 872 毫秒。 */