首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么Dapper比Dapper加起来快?

为什么Dapper比Dapper加起来快?
EN

Stack Overflow用户
提问于 2020-04-23 23:31:01
回答 1查看 941关注 0票数 0

给出一个简单的测试:

使用Dapper:

代码语言:javascript
复制
for (int i = 0; i < 10000; i++)
{
      Connection.Execute("UPDATE User SET Name = 'Max'");
}

此操作的持续时间如下所示,用StopWatch度量

RunTime 00:00:37.51持续时间: 00:00:37.5150734

使用Dapper的

代码语言:javascript
复制
User user = new User();
user.Name = "Max";
DapperPlusManager.Entity<User>().Table("User");
for (int i = 0; i < 10000; i++)
{
       Connection.BulkUpdate(user);
}

此操作的持续时间如下所示,用StopWatch度量

RunTime 00:00:39.85持续时间: 00:00:39.8553959

我在不同的场景中做了这个测试,Dapper总是比Dapper +更快。

问题很清楚,为什么Dapper比Dapper Plus快?是什么导致了这样的事情?

注意:我在实体框架中使用Sqlite

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-23 23:48:37

为什么Dapper比Dapper Plus快?是什么导致了这样的事情?

BulkUpdate,顾名思义,用于批量更新(即一次更新多个行)。你是在一次一次叫它。您想要对它执行单人调用,而不是10,000次,以获得好处。

( b)后一种代码可能需要以前一种代码不需要的方式进行反射(例如,认识到存在Name属性),这将导致一些性能成本。

几乎可以肯定的是,你需要做的是。另外,使用更有意义的测试来更新10,000个不同的行--而不是同一行10,000次(因为使用当前代码,最简单的修复方法是只执行一次,而不是10,000次--但我怀疑这不是您想要的)。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61398658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档