如何允许在搜索过滤器(文本框)中输入多个值。以及对绩效的影响

时间:2015-05-06 07:59:51

标签: c# sql-server performance

我的项目有一个新的增强功能,我需要添加一个新的文本框过滤器,我必须允许输入多个值。

显然我在当前程序中使用“like”作为单值参数。

WHERE (@_adFirstName IS NULL OR firstName LIKE @_adFirstName + '%')
        AND (@_adLastName IS NULL OR lastName LIKE @_adLastName + '%')

稍后我需要使用“IN”表示多个值。在这种情况下,程序执行的影响是什么。

1 个答案:

答案 0 :(得分:1)

您没有指定您的sql server版本,但自2008年以来sql server支持表值参数。我发现这是将变量列表传递给存储过程的最有效方法。

你可以在[我对这里的另一个问题的回答]中找到关于它是如何完成的完整描述。 (How to pass string array in SQL parameter to IN clause in SQL