DBHelper SqlSugar EntityFramework 增删改查 性能对比测试

  • A+
所属分类:.NET技术
摘要

https://gitee.com/s0611163/DBHelper (源码中的PerformanceTest工程)https://gitee.com/s0611163/SqlSugarDemo


DBHelper SqlSugar EntityFramework 增删改查 性能对比测试

测试数据库是MySQL数据库,库版本:EntityFramework 6、SqlSugar 5.x 

源码

https://gitee.com/s0611163/DBHelper (源码中的PerformanceTest工程)

https://gitee.com/s0611163/SqlSugarDemo

https://gitee.com/s0611163/EFDemo

测试结果

循环添加修改

EF性能最好 

DBHelper SqlSugar EntityFramework 增删改查 性能对比测试

批量添加修改

批量添加SqlSugar性能最好,EF性能最差;批量修改SqlSugar修改最好,DBHelper性能最差 

DBHelper SqlSugar EntityFramework 增删改查 性能对比测试

查询

EF性能最好 

DBHelper SqlSugar EntityFramework 增删改查 性能对比测试

分页查询

SqlSugar和EF性能差不多,DBHelper性能稍差 

DBHelper SqlSugar EntityFramework 增删改查 性能对比测试

测试结果分析

现象

  1. 循环添加修改 DBHelper和SqlSugar 性能差不多
  2. 批量添加 SqlSugar比DBHelper 大约快4倍
  3. 批量修改 SqlSugar比DBHelper 大约快12倍,一个数量级的差距
  4. 查询 SqlSugar比DBHelper 大约快2倍
  5. 分页查询 SqlSugar比DBHelper 大约快3倍

分析

  1. SqlSugar比DBHelper性能好
  2. 批量添加性能好的原因:使用了BulkCopy
  3. 批量修改性能好的原因:使用了update inner join批量更新
  4. 查询性能好的原因:DBHelper通过反射实现,SqlSugar使用了Emit技术