我有一个相当复杂的多连接 TSQL SELECT 查询,它运行大约 8 秒并返回大约 30 万条记录。这是目前可以接受的。但是我需要多次重复使用该查询的结果,所以我将查询的结果插入到临时表中。表是预先创建的,其列与 SELECT 查询的输出相匹配。但是,只要我执行 INSERT INTO ... SELECT - 执行时间就会增加一倍以上,超过 20 秒!执行计划显示,46% 的查询成本用于“表插入”,38% 用于表假脱机(Eager Spool)。
知道为什么会发生这种情况以及如何加快速度吗?
谢谢!