【问题标题】:In what situations is the prepare method of a SqlCommand object useful?SqlCommand 对象的 prepare 方法在什么情况下有用?
【发布时间】:2010-12-05 22:07:40
【问题描述】:

有没有人知道 ADO.NET SqlCommand 对象的 prepare 方法在什么情况下有用?

【问题讨论】:

    标签: ado.net prepared-statement sqlcommand


    【解决方案1】:

    我们谈论的是暗示 Microsoft SQL Server 的 SqlCommand。据我所知,SQL Server 一直支持它。

    目前尚不清楚它是否有任何用处。我还没有找到真正了解的人。很多人声称它没有任何用处,也没有可测量的性能差异。我希望以一种或另一种方式查看证据。

    在另一个数据库(使用 FbCommand 对象的 Firebird)上,我知道如果您不小心,它可能会导致问题。如果您准备了一个语句,但从不使用它,那么事务将永远保持打开状态。我们必须从 Firebird 的代码中删除所有准备工作。我们习惯于准备任何可能被多次执行的东西。

    【讨论】:

      【解决方案2】:
      • 如果底层数据库支持并且
      • 如果您要多次调用相同的命令(使用不同的参数值)。这样可以节省一些时间,因为数据库可以重复使用相同的查询计划。

      现代数据库通常会缓存命令和查询计划,但通过预先准备好查询或命令,您仍然可以节省一些时间。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-03-17
        • 2014-01-25
        • 2011-03-28
        • 1970-01-01
        • 1970-01-01
        • 2014-12-14
        相关资源
        最近更新 更多