從資料庫讀五十萬資料到檔案中
////////////////// 一個執行緒的情況 ////////////////
******** 使用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