SQL Server 2012
任何人都可以对这种奇怪的行为有所了解吗?
我有一个调用非常复杂的select语句的函数。它接受3个参数
Select *
from Myfunction(@CompanyId, @DivisionId, @PersonId)
这会在10分钟后超时。
如果我使用函数的内部SQL,声明相同的变量,将它们设置为相同的值并运行,这需要一秒钟才能返回8条记录。
如果我运行的函数@CompanyId
没有返回结果,我没有按预期返回任何行并立即返回(因此它不是权限问题)。
我们刚刚为此函数插入了大量数据来处理,但这并不能解释为什么select工作正常并且函数挂起?
有什么想法吗?
答案 0 :(得分:0)
感谢您的回复。这是一个指数问题。
我发现在函数中的一个列(在其中一个连接中使用)上添加非聚集索引修复了此问题。仍然不确定为什么这在一个独立的select语句中工作,但在函数内部有一个问题......但索引已经解决了它。
由于