相关疑难解决方法(0)

SQL Server 是否缓存查询中的计算值?

每次遇到这种类型的查询时,我总是想知道 SQL Server 将如何解决它。如果我运行需要计算的任何类型的查询,然后在多个位置使用该值,例如在select和 中order by,SQL Server 会为每一行计算两次还是会被缓存?此外,这如何与用户定义的函数一起工作?

例子:

SELECT CompanyId, Count(*)
FROM Sales
ORDER BY Count(*) desc

SELECT Geom.BufferWithTolerance(@radius, 0.01, 0).STEnvelope().STPointN(1).STX, Geom.BufferWithTolerance(@radius, 0.01, 0).STEnvelope().STPointN(1).STY
FROM Table

SELECT Id, udf.MyFunction(Id)
FROM Table
ORDER BY udf.MyFunction(Id)
Run Code Online (Sandbox Code Playgroud)

有没有办法让它更有效率,或者 SQL Server 是否足够聪明来为我处理它?

sql-server

10
推荐指数
1
解决办法
1292
查看次数

标签 统计

sql-server ×1