关于DataTable和DataReader转换数据的效率问题

萌狼爱爪爪 萌狼爱爪爪 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
今天做了一个测试,用DataTable获取数据然后转Json和实体类,以及用DataReader获取数据然后转Json和实体类,出现了下面的一个情况:
(1)从数据库获取的数据转换成实体类时,用DataTable比用DataReader转实体快
(2)从数据库获取的数据转换成JSON字符串时,用DataReader比用DataTable转JSON字符串快

从DataReader和DataTable的性质看,
DataReader是一条一条读取,再转JSON的时候直接转换,
而DataTable是读取所有数据然后缓存在内存,在转JSON格式的时候在遍历一遍去转,
所以才会出现上面的(2)这种情况,但是为什么又会出现(1)这种情况呢,求大神帮忙指点下

测试环境:
(1)相同的电脑
(2)测试数据是10万条到100万条数据
(3)测试了上百组数据基本都是上面的结果,不存在偶然性

下面附上转实体的时候的代码:

图1是DataReader转实体类的代码:


图2是DataTable转实体类的代码:
...全文
评论 11
收藏 已收藏
分享
返回顶部
萌狼爱爪爪
C# 111,129 成员 642,540 内容