- A+
所属分类:.NET技术
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性能最好
批量添加修改
批量添加SqlSugar性能最好,EF性能最差;批量修改SqlSugar修改最好,DBHelper性能最差
查询
EF性能最好
分页查询
SqlSugar和EF性能差不多,DBHelper性能稍差
测试结果分析
现象
- 循环添加修改 DBHelper和SqlSugar 性能差不多
- 批量添加 SqlSugar比DBHelper 大约快4倍
- 批量修改 SqlSugar比DBHelper 大约快12倍,一个数量级的差距
- 查询 SqlSugar比DBHelper 大约快2倍
- 分页查询 SqlSugar比DBHelper 大约快3倍
分析
- SqlSugar比DBHelper性能好
- 批量添加性能好的原因:使用了BulkCopy
- 批量修改性能好的原因:使用了update inner join批量更新
- 查询性能好的原因:DBHelper通过反射实现,SqlSugar使用了Emit技术