关于存储过程参数效率问题
jldzy 2014-09-01 09:58:45 存储过程2种形式参数,其中@selectSql 最长的时候有5000字符,多表连接和查询多个字段。
一
@countSql nvarchar(max),
@selectSql nvarchar(max)
其中 @countSql= ‘select count(*) from ('+@selectSql+') a', 这2个参数是在程序里面拼接出来直接调用存储过程。
二
@selectSql nvarchar(max)
然后在存储过程里面 拼接@countSql= ‘select count(*) from ('+@selectSql+') a'
在测试的时候,发现方案一的效率比二的高,理论上方案二可以减少网络传输,特别是传过来的字符串特别长的时候。
但是在数据库里面进行拼接,也是非常消耗性能的。