【发布时间】:2018-08-24 10:15:14
【问题描述】:
我有一个在 WHERE 子句中使用多语句表值函数的查询:
WHERE value IN (SELECT * FROM dbo.Split('SO',','))
函数的返回值是一个包含单个单元格的表格,'SO'
我发现没有该功能的查询要快得多:
WHERE value = 'SO'
WHERE value IN ('SO')
WHERE value IN (SELECT 'SO')
最终我在不更改任何代码的情况下删除并创建了该函数,并且查询运行得更快。以前,它不会在一分钟内完成,现在需要一秒钟。
当我删除并重新创建函数时可能会发生什么变化?
【问题讨论】:
标签: sql sql-server tsql sql-server-2014