SQL Server和优化公共表表达式



我有这样的查询:

;WITH My_CTE AS
(
SELECT
col1,
col2
FROM
My_Table
)
SELECT TOP(10)
col1,
col2
FROM
My_CTE
WHERE
col1 > 10
ORDER BY
col2

SQL Server将首先加载My_Table中的所有记录,然后过滤掉不满足where子句的记录,还是在CTE中优化选择?

注意TOP, ORDER BY和WHERE子句只在外部查询中出现。

将优化CTE以及非CTE查询。

CTE只是一个"便于书写"的工具。除了RECURSIVE查询。

SQL引擎的代数器部分将复合查询重新排列为单个查询,(代数简化)然后将给定的代数树传递给优化器…

相关内容

  • 没有找到相关文章

最新更新