c# - SqlParameter Size - 设置为最大大小的负面影响?

标签 c# sql-server ado.net

我有一个 SqlCommand,我想对其 CommandType = Text 调用 Prepare()(它不能 是一个存储过程)。

为了做到这一点,我需要将参数的 Size 属性设置为非零,否则会引发异常。将所有参数的 Size 设置为最大可能大小是否会产生负面影响,即使实际值的大小永远不会接近该值?有更好的方法吗?

最佳答案

我认为这样做唯一潜在的负面影响是参数的内存分配成本。

由于您正在调用“Prepare()”,我猜测您计划对同一个 SqlConnection 多次使用 SqlCommand,这表明可能会使用它的离散代码部分(如果连接关闭了很长时间)准备好的命令,下次使用时必须将命令文本重新传输到服务器)。

如果您知道参数的性质,那么您似乎可能对它们的潜在大小有所了解。如果没有,那么我真的不知道你有什么选择,而不是为每个声明一个相当大的大小 - 大到足以容纳大多数/任何潜在值。

关于c# - SqlParameter Size - 设置为最大大小的负面影响?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/139971/

相关文章:

c# - 在 Entity Framework Core 中启用原始 SQL 日志记录

c# - 需要帮助 Linq Query Group By + Count

sql - 用换行符分隔 TEXT block

c# - ado.net并发冲突如何解决

c# - 不同 BeginTransaction 方法之间的区别。

c# - 管理数据表

c# - 用于谷歌引荐来源网址验证的正则表达式

c# - 从 ASP.NET 文本框向 SQL 数据库写入数据

sql - 根据今年今天、本周、本月、本季度汇总销售额的最快方法?

sql - 即使事务回滚,如何记录错误?