[英]Speeding up temp table joins in SQL Server
我有2个临时表#temp1和#temp。 两者都有一个键和日期列。 两者都有大约25,000行。 我将根据所有行上唯一的键和日期加入它们。 这次加入需要大约4分钟才能完成。 有没有办法加快速度或任何替代方法?
我相信您可以像在任何其他表上一样在临时表上创建索引。
如果您加入25k
表需要4
分钟,那就有问题了。
很可能你25k * 25k = 625M
错了JOIN
条件导致笛卡尔连接(或接近它的东西),这导致返回25k * 25k = 625M
条记录。
这可能需要4
分钟,如果不是更多,但我不认为这是你想要的。
您的查询中可能有DISTINCT
/ GROUP BY
子句,这使得查询以非最佳方式返回正确的结果集。
您能否发布您的查询,以便我确切地说出原因?
我怀疑你的整个查询可能需要查看。 可能有另一种方法来修饰这只特殊的兔子。
你能留下更多细节吗?
取决于你正在做什么,你可以完全避免临时表,并有一个基于集合的解决方案(运行速度更快,扩展性更好),但很难知道你的查询是什么。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.