繁体   English   中英

加速SQL Server中的临时表连接

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM