【发布时间】:2024-04-29 04:10:02
【问题描述】:
我刚刚在 SQLServer 2000 上的表值函数中包装了一个复杂的 SQL 语句。 在查看 SELECT * FROM dbo.NewFunc 的查询计划时,它只会给我一个我创建的表的表扫描。
我猜这是因为表是在 tempdb 中创建的,我只是从中选择。
所以查询很简单:
SELECT * FROM table in tempdb
我的问题是:
UDF 是否使用与复杂 SQL 语句相同的计划?
如何调整此 UDF 的索引?
我能看到真正的计划吗?
【问题讨论】:
-
你可以通过至少运行一次函数然后在缓存中查看查询计划,例如:dba.stackexchange.com/a/198524/18190
标签: sql sql-server tsql sql-server-2000 user-defined-functions