我有2个临时表#temp1和#temp。两者都有一个键和日期列。两者都有大约25,000行。我将根据所有行上唯一的键和日期加入它们。这次加入需要大约4分钟才能完成。有没有办法加快速度或任何替代方法?
答案 0 :(得分:6)
我相信您可以像在任何其他表上一样在临时表上创建索引。
答案 1 :(得分:3)
如果您25k
表的加入时间为4
分钟,那么就会出现问题。
很可能你提出错误的JOIN
条件导致笛卡尔联接(或接近它的东西),这导致返回25k * 25k = 625M
个记录。
如果不是更多,这可能需要4
分钟,但我不认为这是你想要的。
您的查询中可能有DISTINCT
/ GROUP BY
个子句,这使得查询以非最佳方式返回正确的结果集。
您能否发布您的查询以便我确切说明原因?
答案 2 :(得分:1)
我怀疑您的整个查询可能需要查看。可能有另一种方法可以给这只兔子涂上皮肤。
你能留下更多细节吗?
答案 3 :(得分:1)
取决于你正在做什么,你可以完全避免临时表,并有一个基于集合的解决方案(运行速度更快,扩展性更好),但是很难知道你的查询是什么