[问题] 如何快速的从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