公司项目数据库访问采用的dapper,以前没有用过。今天简单的测试下了,dapper和dbentry 查询效率情况。

  public ActionResult Test()
{
Sys_UserFacade su = new Sys_UserFacade();
var result = string.Empty;
System.Diagnostics.Stopwatch sw = new System.Diagnostics.Stopwatch();
sw.Start();
var list = su.GetSys_UserList();
sw.Stop();
result += "Dapper:查询" + list.Count() + "条数据耗时" + sw.ElapsedMilliseconds + "毫秒 ";
sw.Reset();
sw.Start();
var list2 = SysUser.Find(u=>u.LoginCount==2); sw.Stop();
result += "Vs Dbentry:" + list2.Count() + "条数据耗时" + sw.ElapsedMilliseconds + "毫秒<hr/>";
return Content(result);
}

  

sql 2012 ,本机,140W+数据,进行了简单的全表查询,和条件查询。执行效率如下:

Dapper:查询1408128条数据耗时7474毫秒 Vs Dbentry:1408064条数据耗时6370毫秒
Dapper:查询1408128条数据耗时7372毫秒 Vs Dbentry:1408064条数据耗时6453毫秒
Dapper:查询1408128条数据耗时7423毫秒 Vs Dbentry:1408064条数据耗时6466毫秒
Dapper:查询1408128条数据耗时7288毫秒 Vs Dbentry:1408064条数据耗时6646毫秒
Dapper:查询1408128条数据耗时7172毫秒 Vs Dbentry:1408064条数据耗时6667毫秒
Dapper:查询128条数据耗时50毫秒 Vs Dbentry:128条数据耗时30毫秒
Dapper:查询128条数据耗时47毫秒 Vs Dbentry:128条数据耗时29毫秒
Dapper:查询128条数据耗时42毫秒 Vs Dbentry:128条数据耗时30毫秒
Dapper:查询128条数据耗时41毫秒 Vs Dbentry:128条数据耗时38毫秒
Dapper:查询128条数据耗时44毫秒 Vs Dbentry:128条数据耗时29毫秒

总结:两个效率差不多,dbentry 略胜一点。

今天使用dapper时候遇到一个小问题,数据库连接字符串在web.config配置如下

<connectionStrings>
<add name="SmDbConnectionString" connectionString="Data Source=(local);Initial Catalog=***;User ID=xxx;Password=xxxx" providerName="System.Data.SqlClient" />
</connectionStrings>

在程序中采用

cnnStringName = ConfigurationManager.ConnectionStrings[0].Name;

访问连接字符串名,发现返回的连接名并不是想要的。而是继承了Machine.config中的连接。

解决办法:

1:在web.config connectionStrings节点中先添加个 <clear/>

2:或者直接ConfigurationManager.ConnectionStrings[1]

Dapper Vs Dbentry的更多相关文章

  1. Dapper逆天入门~强类型,动态类型,多映射,多返回值,增删改查+存储过程+事物案例演示

    Dapper的牛逼就不扯蛋了,答应群友做个入门Demo的,现有园友需要,那么公开分享一下: 完整Demo:http://pan.baidu.com/s/1i3TcEzj 注 意 事 项:http:// ...

  2. Dapper扩展之~~~Dapper.Contrib

    平台之大势何人能挡? 带着你的Net飞奔吧!http://www.cnblogs.com/dunitian/p/4822808.html#skill 上一篇文章:Dapper逆天入门~强类型,动态类型 ...

  3. 由Dapper QueryMultiple 返回数据的问题得出==》Dapper QueryMultiple并不会帮我们识别多个返回值的顺序

    异常汇总:http://www.cnblogs.com/dunitian/p/4523006.html#dapper 今天帮群友整理Dapper基础教程的时候手脚快了点,然后遇到了一个小问题,Dapp ...

  4. Dapper.Contrib:GetAsync<T> only supports an entity with a [Key] or an [ExplicitKey] property

    异常处理:http://www.cnblogs.com/dunitian/p/4523006.html#dapper 原来Model是这样滴 修改后是这样滴 注意点:Model里面的Table和Key ...

  5. Dapper where Id in的解决方案

    简单记一下,一会出去有点事情~ 我们一般写sql都是==>update NoteInfo set NDataStatus=@NDataStatus where NId in (@NIds) Da ...

  6. ASP.NET Core 1.0 使用 Dapper 操作 MySql(包含事务)

    操作 MySql 数据库使用MySql.Data程序包(MySql 开发,其他第三方可能会有些问题). project.json 代码: { "version": "1. ...

  7. Asp.Net Core + Dapper + Repository 模式 + TDD 学习笔记

    0x00 前言 之前一直使用的是 EF ,做了一个简单的小项目后发现 EF 的表现并不是很好,就比如联表查询,因为现在的 EF Core 也没有啥好用的分析工具,所以也不知道该怎么写 Linq 生成出 ...

  8. 搭建一套自己实用的.net架构(3)续 【ORM Dapper+DapperExtensions+Lambda】

    前言 继之前发的帖子[ORM-Dapper+DapperExtensions],对Dapper的扩展代码也进行了改进,同时加入Dapper 对Lambda表达式的支持. 由于之前缺乏对Lambda的知 ...

  9. mono for android中使用dapper或petapoco对sqlite进行数据操作

    在mono for android中使用dapper或petapoco,很简单,新建android 类库项目,直接把原来的文件复制过来,对Connection连接报错部分进行注释和修改就可以运行了.( ...

随机推荐

  1. iNeedle系统使用注意事项

    1.不能监控https协议的报文 目前只能监控http协议的网站,对于https协议(加密)的网站暂时不支持监控,甚至连流量都没有作统计,在测试iNeedle的时候也要多加注意.

  2. sed grep find命令

    一.sed [-nerf][n1,n2] action -n 安静模式,只有经过sed处理过的行才显示出来,其他不显示. -r 表示sed支持扩展的正则表达式 -e 表示直接在命令行模式上进行sed操 ...

  3. 二:Go编程语言规范-类型

    1.类型 布尔值,数值与字符串类型的实例的命名是预声明的. 数组,结构,指针,函数,接口,切片,映射和信道这些复合类型可由类型字面构造. 每个类型 T 都有一个 基本类型:若 T 为预声明类型或类型字 ...

  4. arc如何破循环或交叉引用

    IOS两种常见的循环引用: 1,两个类之间互相定义对方的引用 如下: //ARC code @interface A : NSObject @property (nonatomic,strong) B ...

  5. Uploadify v3.2.1 参数说明

    一.属性 属性名称 默认值 说明 auto true 设置为true当选择文件后就直接上传了,为false需要点击上传按钮才上传 . buttonClass ” 按钮样式 buttonCursor ‘ ...

  6. [转]SQL Server 高性能写入的一些总结

    本文转自:http://www.cnblogs.com/rush/archive/2012/08/31/2666090.html 1.1.1 摘要 在开发过程中,我们不时会遇到系统性能瓶颈问题,而引起 ...

  7. [转]How do I use variables in Oracle SQL Developer?

    本文转自:http://stackoverflow.com/questions/5653423/how-do-i-use-variables-in-oracle-sql-developer Below ...

  8. [麦先生]TP3.2之微信开发那点事[基础篇](微信支付签名算法)

    两种模式:扫码支付和微信内支付(调用js-sdk) trade_type==native即扫码支付,只需要将code_url转成二维码,使用微信扫码即可: js-sdk微信内支付-调用微信js-sdk ...

  9. Unity3D FPS帧数修改

    修改Unity的FPS FPS是游戏运行的帧数,本文讲解如何修改Unity引擎的FPS. 步骤 1.在 Edit/Project Settings/Quality  质量设置里把帧数设定关闭,关闭之后 ...

  10. VS 的编译选项 build下的 platform target -- Any CPU和x86有什么影响?

    VS 的编译选项 build下的platform -- Any CPU和x86有什么影响? 现在的问题是,我的一个assembly用Any CPU编译就不能在64位系统下运行了,但是用x86编译就ok ...