如何为cte创建索引



我有一个查询:

With Cte as (some code)
Select * 
from Cte
order by id 

我可以为这个cte创建一个索引吗?

我正在使用msSQLServer2005

谢谢。

如上所述,索引不能添加到CTE中。

但是,在CTE select中,在联接字段上添加ORDER BY子句可以减少执行时间。

您还需要添加SELECT TOP 100%以允许在CTE选择中使用ORDER BY。

您可以考虑使用物化/索引视图作为底层,而不是CTE。这将要求您提前创建DDL,但如果查询性能很重要,这可能会有所帮助。此外,请记住,由于架构绑定的要求,您将无法更改基础表。

最新更新