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

看板C_Sharp作者 (Gama)時間7年前 (2017/05/11 20:08), 編輯推噓3(3014)
留言17則, 10人參與, 最新討論串1/1
各位好 手上有一張大概有500萬筆紀錄(每個Row有31個Column)的 SQL Server 資料表 想把這張表的所有紀錄撈出來,再依據某個欄位的數值分類 最後將分類結果儲存到 .TXT、.CSV或.XLSX 目前已嘗試過用使用DataReader及Dapper這個第三方Library實作 但發現還是花費太多時間(至少10分鐘起跳) 因此上來請問各位高手 能給些建議嗎? 謝謝大家^^ -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 111.184.30.90 ※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1494504493.A.B42.html

05/11 20:19, , 1F
SSD
05/11 20:19, 1F

05/11 23:16, , 2F
燦笑 XD
05/11 23:16, 2F

05/12 00:25, , 3F
要看速度卡在哪個部份 有時候io寫法換一下 就差滿多了
05/12 00:25, 3F

05/12 00:25, , 4F
但有錢換硬體應該是最簡單有效的方式
05/12 00:25, 4F

05/12 00:26, , 5F
另外印象中一些DB都有匯出功能 有可能根本不需要自己寫
05/12 00:26, 5F

05/12 01:06, , 6F
如果是SQL server的話 可以用內建的SQL profier錄下查詢後,
05/12 01:06, 6F

05/12 01:06, , 7F
用cleartrace去分析哪些查詢需要tune效能@@
05/12 01:06, 7F

05/12 08:23, , 8F
透過SSMS匯出資料時寫T-SQL
05/12 08:23, 8F

05/12 08:23, , 9F
分三次匯出應該也不用一兩分鐘
05/12 08:23, 9F

05/13 13:57, , 10F
一張表500萬不算非常多吧?10分鐘實在有點久
05/13 13:57, 10F

05/13 19:37, , 11F
500萬需要10分鐘一定是哪邊程式寫法有問題
05/13 19:37, 11F

05/15 12:09, , 12F
純撈資料就10分鐘? 還是完整跑完10分鐘?
05/15 12:09, 12F

05/15 16:51, , 13F
我猜是讀完後寫出到特定格式檔案時間花最兇
05/15 16:51, 13F

05/15 16:52, , 14F
如果原PO沒給更多資訊的話 只能鬼抓藥
05/15 16:52, 14F

05/18 01:21, , 15F
這應該是寫的問題...
05/18 01:21, 15F

05/19 20:17, , 16F
select 500萬筆 搬到其他地方其實差不多要這麼久
05/19 20:17, 16F

05/19 21:59, , 17F
卡在io 你得花錢了
05/19 21:59, 17F
文章代碼(AID): #1P55Gjj2 (C_Sharp)