SQL – .NET – SqlParameters – AddWithValue – 未指定Param Type时是否存在任何负面性能影响?

前端之家收集整理的这篇文章主要介绍了SQL – .NET – SqlParameters – AddWithValue – 未指定Param Type时是否存在任何负面性能影响?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlparametercollection.addwithvalue.aspx

我习惯使用add()函数sql参数添加sqlCommand.这允许我指定sqlParameter的类型,但它需要另一行来设置值.

使用AddWithValue函数很好,但它会跳过“指定参数类型”步骤.

我猜这会导致参数作为单引号(”)中包含的字符串发送,但我不确定.

是这种情况,这是否会导致存储过程的性能显着降低?

注意:我理解通过为params指定数据类型来验证.NET端的用户数据是很好的 – 我只关心.NET或sql端的AddWithValue的反射类型开销.

解决方法

类型推导发生在客户端.在sqlParameter里面,它基本上有一个位switch语句来确定你指定的值对应的sql类型.因此发送到sql Server的内容没有区别,但确定.NET类型对应的sql类型的开销非常小.在宏观方案中,性能成本甚至不会显示为实际在数据库调用中花费的时间.

在指定sql类型时,您仍然可以在一行中执行此操作:

cmd.Parameters.Add("@something",sqlDbType.NVarChar).Value = someString;
原文链接:https://www.f2er.com/mssql/76967.html

猜你在找的MsSQL相关文章