SqlCommand.EnableOptimizedParameterBinding 属性

定义

获取或设置一个值,该值指示在将命令提交到SQL Server时,命令对象是否应禁用 Output 和 InputOutput 方向来优化参数性能。

public:
 property bool EnableOptimizedParameterBinding { bool get(); void set(bool value); };
public bool EnableOptimizedParameterBinding { get; set; }
member this.EnableOptimizedParameterBinding : bool with get, set
Public Property EnableOptimizedParameterBinding As Boolean

属性值

一个 值,该值指示命令对象是否应通过在将命令提交到SQL Server时禁用 Output 和 InputOuput 参数方向来优化参数性能。 默认为 false

注解

在执行该命令之前,必须设置此属性的值,该命令才能生效。

使用参数将命令提交到服务器时,会在提交过程中发送参数名称列表。 该列表在服务器上用于将 Output 和 InputOutput 参数与查询执行的结果匹配,以便可以将值返回到调用方。 此选项禁用参数名称列表的构造和提交,因此禁用 Output 和 InputOutput 参数的使用。 返回参数不受此选项的影响。

使用此选项发送的命令会更改在服务器上处理参数的方式,因为无需维护输出参数映射。 此更改的结果是,具有大量输入参数的查询的执行速度可能会快得多。

这将生效的参数数量最少取决于个别情况,应该通过测量启用和未启用 选项的查询持续时间来检测。 任何参数超过 24 个的查询都可能显示较短的总体查询持续时间。 参数计数小于 24 的查询不太可能显示差异。

注意

如果启用选项,并且 Parameters 集合中存在 Direction Output 或 InputOutput 的参数,则在执行命令时将引发 InvalidOperationException。

适用于