【问题标题】:SQL Server 2008 - With ClauseSQL Server 2008 - 带子句
【发布时间】: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


【解决方案1】:

您可以在此处阅读更多信息:

https://docs.microsoft.com/en-us/sql/t-sql/queries/with-common-table-expression-transact-sql

这里:

https://docs.microsoft.com/en-us/sql/t-sql/queries/hints-transact-sql-table

取决于您具体查看的是什么。

性能在很大程度上取决于您正在做什么,您需要发布一些示例。

【讨论】:

  • 好的,谢谢!!
猜你喜欢
  • 2014-03-30
  • 1970-01-01
  • 2013-12-06
  • 2013-11-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多