使用VB.NET和Access数据库时,使用DataAdapater与SQL命令进行数据库更新的性能

时间:2013-09-04 05:55:54

标签: vb.net ms-access

我是VB.NET windows应用程序开发的新手。现在我指的是一个已经开发的应用程序。在我的参考项目中,每个数据更新都使用DataAdapter,首先在适配器中加载数据,然后创建一个更新适配器的新行。因此,此方法首先获取数据然后更新数据。如果我们使用直接SQL命令,则只有一个数据库插入/更新语句。这两种方法之间是否存在重大影响?

2 个答案:

答案 0 :(得分:1)

  

这两种方法之间是否存在重大影响?

这是一个非常普遍的问题,所以一般的答案是“这取决于......”。创建和填充DataAdapter的开销将花费你某些东西,但这是否是一个重要的成本将取决于像...这样的因素。

  • 您要更新的表格中有多少数据

  • 您在DataAdapter中提取了多少信息

  • 数据库文件是在本地驱动器还是网络共享

...(也许)许多其他因素。 知道 特定情况下两种方法之间是否存在显着性能差异的唯一方法是运行一些测试并比较结果。< / p>

答案 1 :(得分:0)

据我所知,后一种选择总体上会更快。 在进行任何必要的更新之前,DataAdapter会建议您查询数据并将其加载到内存中。但是,如果DataAdapter更新所有行而不管行是否已更改,我会非常惊讶 - 我应该期望它只会将所需的SQL发送到DBMS。

通过SqlCommand运行更新语句可以绕过查询和加载数据,并且依赖于您的查询,可能会以相同的方式更新数据库本身。[/ p>

两者之间的决定完全取决于背景。