[問題] 如何快速的從DB讀取非常大量的資料

作者: Gamakatsu (Gama)   2017-05-11 20:08:06
各位好
手上有一張大概有500萬筆紀錄(每個Row有31個Column)的 SQL Server 資料表
想把這張表的所有紀錄撈出來,再依據某個欄位的數值分類
最後將分類結果儲存到 .TXT、.CSV或.XLSX
目前已嘗試過用使用DataReader及Dapper這個第三方Library實作
但發現還是花費太多時間(至少10分鐘起跳)
因此上來請問各位高手 能給些建議嗎?
謝謝大家^^
作者: testPtt (測試)   2017-05-11 20:19:00
SSD
作者: yeo1987 (Archie)   2017-05-11 23:16:00
燦笑 XD
作者: erspicu (.)   2017-05-12 00:25:00
要看速度卡在哪個部份 有時候io寫法換一下 就差滿多了但有錢換硬體應該是最簡單有效的方式另外印象中一些DB都有匯出功能 有可能根本不需要自己寫
作者: J002 (阿里山 我來了XD~)   2017-05-12 01:06:00
如果是SQL server的話 可以用內建的SQL profier錄下查詢後,用cleartrace去分析哪些查詢需要tune效能@@
作者: konkonchou (卡卡貓)   2017-05-12 08:23:00
透過SSMS匯出資料時寫T-SQL分三次匯出應該也不用一兩分鐘
作者: Litfal (Litfal)   2017-05-13 13:57:00
一張表500萬不算非常多吧?10分鐘實在有點久
作者: Ammenze (藍天白雲)   2017-05-13 19:37:00
500萬需要10分鐘一定是哪邊程式寫法有問題
作者: susty (Sty)   2017-05-15 12:09:00
純撈資料就10分鐘? 還是完整跑完10分鐘?
作者: erspicu (.)   2017-05-15 16:51:00
我猜是讀完後寫出到特定格式檔案時間花最兇如果原PO沒給更多資訊的話 只能鬼抓藥
作者: y3k (激流を制するは静水)   2017-05-18 01:21:00
這應該是寫的問題...
作者: testPtt (測試)   2017-05-19 20:17:00
select 500萬筆 搬到其他地方其實差不多要這麼久
作者: stosto (樹多)   2017-05-19 21:59:00
卡在io 你得花錢了

Links booklink

Contact Us: admin [ a t ] ucptt.com