【发布时间】:2017-07-12 07:34:04
【问题描述】:
在Oracle数据库中,我们在早期项目中广泛使用了WITH子句。
现在我们使用的是 SQL Server 2008 数据库。您是否建议我们仍然可以在 SQL 代码中使用 WITH 子句? SQL Server 2008 是否支持 WITH 子句?
我的意思是它会提高性能还是使用 WITH 会影响 SQL Server 2008 中的查询性能?
【问题讨论】:
-
Sql Server 2008支持With子句。如果不看它是如何使用的,我们就无法真正说出它的性能。 -
你能展示一些示例查询吗?
-
我在 SQL Server 上经常使用 WITH - 没有任何问题
-
这将完全取决于您对 CTE 所做的事情(SQL 服务器中
with子句的正确名称),但应该与 @987654324 具有更高或相同的效率水平@ -
@Esteban P. 如果您使用它没有任何麻烦,这并不意味着 所有人 使用它没有任何麻烦。我不得不重写很多性能不佳的代码,因为有 10-20 个嵌套的 CTE 并且服务器无法很好地估计基数。我不得不使用临时表拆分所有这些代码,以便让服务器有机会进行正确的估计
标签: sql sql-server query-performance with-statement with-clause