代码之家  ›  专栏  ›  技术社区  ›  Malik Daud Ahmad Khokhar

在SQLServer中加速临时表联接

  •  3
  • Malik Daud Ahmad Khokhar  · 技术社区  · 17 年前

    我有两张临时表#temp1和#temp。两者都有键和日期列。两者都有大约2.5万行。我会根据所有行上唯一的键和日期加入它们。完成此连接大约需要4分钟。有没有办法加快速度或其他方法?

    4 回复  |  直到 14 年前
        1
  •  6
  •   Jan Zich    17 年前

    我相信您可以像在任何其他表上一样在临时表上创建索引。

        2
  •  3
  •   Quassnoi    17 年前

    如果你加入 25k 桌子需要 4 分钟,有点问题。

    很可能你把一个错误的 JOIN 导致笛卡尔连接(或接近笛卡尔连接)的条件,导致 25k * 25k = 625M 返回的记录。

    4.

    也许你有 DISTINCT / GROUP BY 子句,使查询以非最佳方式返回正确的结果集。

    你能把你的疑问贴出来吗?这样我就可以告诉你确切的原因了?

        3
  •  1
  •   Ross McFarlane    17 年前

    你能留下更多的细节吗?

        4
  •  1
  •   DForck42    17 年前

    根据您所做的工作,您可能会完全避免使用临时表,并使用基于集合的解决方案(这将运行得更快,扩展性更好),但如果不知道您的查询是什么,就很难知道这一点。