作者Gamakatsu (Gama)
看板C_Sharp
标题[问题] 如何快速的从DB读取非常大量的资料
时间Thu May 11 20:08:06 2017
各位好
手上有一张大概有500万笔纪录(每个Row有31个Column)的 SQL Server 资料表
想把这张表的所有纪录捞出来,再依据某个栏位的数值分类
最後将分类结果储存到 .TXT、.CSV或.XLSX
目前已尝试过用使用DataReader及Dapper这个第三方Library实作
但发现还是花费太多时间(至少10分钟起跳)
因此上来请问各位高手 能给些建议吗?
谢谢大家^^
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.184.30.90
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1494504493.A.B42.html
1F:→ testPtt: SSD 05/11 20:19
2F:推 yeo1987: 灿笑 XD 05/11 23:16
3F:→ erspicu: 要看速度卡在哪个部份 有时候io写法换一下 就差满多了 05/12 00:25
4F:→ erspicu: 但有钱换硬体应该是最简单有效的方式 05/12 00:25
5F:→ erspicu: 另外印象中一些DB都有汇出功能 有可能根本不需要自己写 05/12 00:26
6F:推 J002: 如果是SQL server的话 可以用内建的SQL profier录下查询後, 05/12 01:06
7F:→ J002: 用cleartrace去分析哪些查询需要tune效能@@ 05/12 01:06
8F:→ konkonchou: 透过SSMS汇出资料时写T-SQL 05/12 08:23
9F:→ konkonchou: 分三次汇出应该也不用一两分钟 05/12 08:23
10F:→ Litfal: 一张表500万不算非常多吧?10分钟实在有点久 05/13 13:57
11F:→ Ammenze: 500万需要10分钟一定是哪边程式写法有问题 05/13 19:37
12F:→ susty: 纯捞资料就10分钟? 还是完整跑完10分钟? 05/15 12:09
13F:→ erspicu: 我猜是读完後写出到特定格式档案时间花最凶 05/15 16:51
14F:→ erspicu: 如果原PO没给更多资讯的话 只能鬼抓药 05/15 16:52
15F:→ y3k: 这应该是写的问题... 05/18 01:21
16F:→ testPtt: select 500万笔 搬到其他地方其实差不多要这麽久 05/19 20:17
17F:推 stosto: 卡在io 你得花钱了 05/19 21:59