【发布时间】:2010-12-05 22:07:40
【问题描述】:
有没有人知道 ADO.NET SqlCommand 对象的 prepare 方法在什么情况下有用?
【问题讨论】:
标签: ado.net prepared-statement sqlcommand
有没有人知道 ADO.NET SqlCommand 对象的 prepare 方法在什么情况下有用?
【问题讨论】:
标签: ado.net prepared-statement sqlcommand
我们谈论的是暗示 Microsoft SQL Server 的 SqlCommand。据我所知,SQL Server 一直支持它。
目前尚不清楚它是否有任何用处。我还没有找到真正了解的人。很多人声称它没有任何用处,也没有可测量的性能差异。我希望以一种或另一种方式查看证据。
在另一个数据库(使用 FbCommand 对象的 Firebird)上,我知道如果您不小心,它可能会导致问题。如果您准备了一个语句,但从不使用它,那么事务将永远保持打开状态。我们必须从 Firebird 的代码中删除所有准备工作。我们习惯于准备任何可能被多次执行的东西。
【讨论】:
现代数据库通常会缓存命令和查询计划,但通过预先准备好查询或命令,您仍然可以节省一些时间。
【讨论】: