假设我们想将一个值数组作为参数传递给一个存储过程,在其中用作IN子句中的值。
在性能方面,以下哪种方式更好:
1. 将值作为逗号分隔的字符串进行传递。
在性能方面,以下哪种方式更好:
1. 将值作为逗号分隔的字符串进行传递。
Select * FROM myTable WHERE Id IN (@myConcatenatedValues)
或者
2- 将值作为一个表变量传递,该变量包含将这些值作为行的列
例如:
Select * FROM myTable WHERE Id IN (Select Id from @myVariableTable)
Thanks in advance