【发布时间】:2015-05-06 13:09:54
【问题描述】:
我在SQL Server Central 上发现了一个拆分字符串函数。
它是一个拆分分隔字符串的表值函数。我试图弄清楚这是否是为 IN 子句调用此类函数的最佳方法。
WHERE x.Type IN (SELECT Item FROM dbo.DelimitedSplit8K(@Types, ','))
作为内联函数会更好吗?对我有什么不同?
【问题讨论】:
-
您只发布了部分查询,我们并不真正知道您要做什么。这似乎不是该功能的最佳用法,但在不了解您的要求的情况下很难说。
-
最好的方法是在你的存储过程中使用一个表值参数,但是如果你想使用 split 函数,你就在正确的轨道上,它应该为你解决问题已经在做。
-
你发帖的方式很好
-
根据列表(和结果表)的大小,首先将函数的结果插入临时表可能是有益的,只是为了给优化器一个正确的基数 est
-
@dean 不是真的。对所有行计算一次
标签: sql sql-server stored-procedures split delimiter