为了账号安全,请及时绑定邮箱和手机立即绑定

哪些性能更​​高,CTE或临时表?

哪些性能更​​高,CTE或临时表?

陪伴而非守候 2019-08-26 11:18:17
哪些性能更高,CTE或临时表?哪个更高效,CTE或者Temporary Tables?
查看完整描述

3 回答

?
浮云间

TA贡献1829条经验 获得超4个赞

我会说他们是不同的概念,但不能说“粉笔和奶酪”。

  • 临时表适用于重用或对一组数据执行多个处理过程。

  • CTE可用于递归或简单地提高可读性。
    并且,像视图或内联表值函数也可以像处理宏一样在主查询中进行扩展

  • 临时表是另一个表,其中包含一些围绕范围的规则

我存储了procs,我使用它们(和表变量)


查看完整回答
反对 回复 2019-08-26
?
临摹微笑

TA贡献1982条经验 获得超2个赞

因此,我分配给优化的查询是用SQL Server中的两个CTE编写的。花了28秒。

我花了两分钟将它们转换为临时表,查询耗时3秒

我在正在连接的字段上为临时表添加了一个索引,并将其降低到2秒

三分钟的工作,现在通过移除CTE,运行速度提高了12倍。我个人不会使用CTE,因为它们也更难以调试。

疯狂的事情是,CTE都只使用过一次,而且它们的指数仍被证明要快50%。


查看完整回答
反对 回复 2019-08-26
  • 3 回答
  • 0 关注
  • 653 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号