1. 程式人生 > >從資料庫讀五十萬資料到檔案中

從資料庫讀五十萬資料到檔案中

從資料庫讀五十成資料到檔案中 

//////////////////  一個執行緒的情況 ////////////////

********   使用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