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

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

哪个更高效,CTE或者Temporary Tables



陪伴而非守候
浏览 653回答 3
3回答

浮云间

我会说他们是不同的概念,但不能说“粉笔和奶酪”。临时表适用于重用或对一组数据执行多个处理过程。CTE可用于递归或简单地提高可读性。并且,像视图或内联表值函数也可以像处理宏一样在主查询中进行扩展临时表是另一个表,其中包含一些围绕范围的规则我存储了procs,我使用它们(和表变量)

临摹微笑

因此,我分配给优化的查询是用SQL Server中的两个CTE编写的。花了28秒。我花了两分钟将它们转换为临时表,查询耗时3秒我在正在连接的字段上为临时表添加了一个索引,并将其降低到2秒三分钟的工作,现在通过移除CTE,运行速度提高了12倍。我个人不会使用CTE,因为它们也更难以调试。疯狂的事情是,CTE都只使用过一次,而且它们的指数仍被证明要快50%。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

SQL Server