从数据库读五十万数据到文件中

这篇博客记录了从数据库中读取五十万条数据到文件的过程,对比了使用DataTable分段读取和DataReader一次性读取的性能和内存占用。在单线程、双线程和三线程并发情况下,分析了CPU使用率的影响,展示了不同策略对数据导出效率的影响。
摘要由CSDN通过智能技术生成
从数据库读五十成数据到文件中 

 

//  一个线程的情况

********   使用DataTable分段读取,内存使用比较大  *************
2011-09-09 11:07:22,421 [INFO] - 002机构04包数据导出开始 11:07:22
2011-09-09 11:07:43,796 [INFO] - 读从505501到1005501记录 11:07:43
select * from (SELECT * FROM v_ack04 WHERE  SEATNO='002') s where s.RECNO >= 505501 and s.RECNO < 1005501
2011-09-09 11:10:16,843 [INFO] - 002机构04包数据导出结束 11:10:16

********   使用DataReader一次性读取  ************
2011-09-09 11:19:19,515 [INFO] - 002机构04包数据导出开始 11:19:19
2011-09-09 11:19:21,328 [INFO] - 11:19:21
SELECT * FROM v_ack04 WHERE  SEATNO='002'
2011-09-09 11:21:51,437 [INFO] - 002机构04包数据导出结束 11:21:51


二个线程同时打包 CPU:80%     
2011-09-09 11:27:57,765 [INFO] - 002机构04包数据导出开始 11:27:57
2011-09-09 11:27:59,109 [INFO] - 11:27:59
SELECT * FROM v_ack04 WHERE  SEATNO='002'
2011-09-09 11:30:38,343 [INFO] - 002机构04包数据导出结束 11:30:38

2011-09-09 11:27:57,953 [INFO] - 003机构04包数据导出开始 11:27:57
2011-09-09 11:28:00,546 [INFO] - 11:28:00
SELECT * FROM v_ack04 WHERE  SEATNO='003'
2011-09-09 11:29:56,734 [INFO] - 003机构04包数据导出结束 11:29:56


/  三个线程同时打包 CPU:100% 
2011-09-09 13:36:22,421 [INFO] - 002机构04包数据导出开始 13:36:22
2011-09-09 13:36:24,265 [INFO] - 13:36:24
SELECT * FROM v_ack04 WHERE  SEATNO='002'
2011-09-09 13:39:27,171 [INFO] - 002机构04包数据导出结束 13:39:27

2011-09-09 13:36:22,468 [INFO] - 003机构04包数据导出开始 13:36:22
2011-09-09 13:36:25,203 [INFO] - 13:36:25
SELECT * FROM v_ack04 WHERE  SEATNO='003'
2011-09-09 13:39:03,625 [INFO] - 003机构04包数据导出结束 13:39:03

2011-09-09 13:36:22,453 [INFO] - 005机构04包数据导出开始 13:36:22
2011-09-09 13:36:25,859 [INFO] - 13:36:25
SELECT * FROM v_ack04 WHERE  SEATNO='005'
2011-09-09 13:40:17,937 [INFO] - 005机构04包数据导出结束 13:40:17

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值