声明临时表与使用WITH语句

时间:2014-11-20 21:29:12

标签: sql

我从事市场研究,并且在编写SQL时正在更好地理解最佳实践。

我遇到的一种情况是使用WITH子句和使用声明的临时表。

在大多数情况下,我使用with子句,因为它易于实现(我更喜欢它级联SELECT)。

但是,在运行时和效率方面使用声明的临时表是否有好处?我更关注每个人的利弊。

2 个答案:

答案 0 :(得分:2)

最重要的是首先获得正确工作的查询。任何查询。

如果要重复许多次,请在此处发布,工程师将就如何改进它以及如何衡量其性能发表意见。

许多因素在起作用:架构,软件,版本,服务器分布,输入数量,输出数量等。

答案 1 :(得分:1)

这个决定是逐案的。 WITH子句对于1)在外部查询中多次重复子查询以及2)从外部查询中提取复杂的内部查询以保持内容清洁和可读是有用的。可以通过VIEW轻松替换WITH。将其视为内联视图。

我认为临时表更专业。当您需要在会话期间保留结果集以供多个查询使用时,临时表通常用于缓存。还有其他一些用例,但同样更专注于这种情况。

这两个概念只是“有点”相关。

根据您的情况,WITH或临时表都不合适。