Reader转化为Entity类时系统性能的测试报告(downmoon原创)

本文探讨了从SQL Server读取数据并映射到.NET对象的方法,包括使用反射构建对象及动态方法等技术手段,旨在提高数据处理效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在最常见的用法中,从Reader到Entity或Collection或List时总会用到对象转化。

这里提供一份简陋的性能测试报告(仅代表downmoon或邀月)的观点。

一、在测试之前,首先准备一个表(SQL2005)

Database Name :TestBigData

Table:Product

这里,提供一些傻瓜语句

 

假定己插入2048条记录

 

二、创建ConSole Application

 

主要三个类如下:

 

 最常见的用法:

 

 第二种用法(Reflect):

 第三种用法(DynaMicmethod ,基于IL)

 基于的实体类


 

测试主要方法

 在网络流量200的负载测试下

结果如图

邀月工作室

邀月工作室

 邀月工作室

 

结论 在vs2005环境下,从Reader流转化为List<T>或IList<T>时,Reflect方法效率最低,DynamicMethod次之,但性能与Manual方法相当接近,综合而言, DynamicMethod 代码量小,移植性好,性能相对也不错,值得推荐!

最主要的是:当Entity的属性值个数大于Reader的Column个数时,Reflect和DynamicMethod性能更佳,且不会报错!换言之,当你需取表中的某几个字段时,DynamicMwthod的优势是显而易见的! 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值