24小时热门版块排行榜    

查看: 1580  |  回复: 3
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

spz19901006

新虫 (初入文坛)

[求助] 求教C#处理sql大量数据的高效率方法

请问大家使用C#语言从SQL的数据库中读取80万条数据,并存在字典中,之后要在这个字典中查找相关符合条件的数据,处理datatable的时候速度很慢,请问大家有没有好的方法,前段时间研究了缓存,缓存一般适合于B/S模式,在C/S模式下并不是很适用,另外C#在处理大量数据时,有没有相应的高效的方法,请大家多多指教,谢谢!!
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

第五洋

木虫 (小有名气)

【答案】应助回帖

感谢参与,应助指数 +1
spz19901006: 回帖置顶 2013-12-09 15:30:03
我已经给好多人做过C#调数据库的了。。。

C#数据库速度的瓶颈在于 .open .close这类文件IO的地方。
楼主可以考虑一整张表的话,用select* 全读到一个table里,或者放到datagridview中,
这样一次文件的io,数据就都读到内存里了,
然后写循环在table里大量读取需要的数据条目

如果楼主按照模板,每一个语句都要走一遍数据库的 open close 申请 这些过程,自然会较慢的。

有问题欢迎继续追问
给时光以生命
3楼2013-12-08 08:49:50
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 4 个回答

adong76

禁虫 (正式写手)

感谢参与,应助指数 +1
本帖内容被屏蔽

2楼2013-12-07 09:04:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

spz19901006

新虫 (初入文坛)

引用回帖:
3楼: Originally posted by 第五洋 at 2013-12-08 08:49:50
我已经给好多人做过C#调数据库的了。。。

C#数据库速度的瓶颈在于 .open .close这类文件IO的地方。
楼主可以考虑一整张表的话,用select* 全读到一个table里,或者放到datagridview中,
这样一次文件的io,数据 ...

80万的数据导入到数据库中差不多是15分钟左右,这个还好,我现在做的一个是程序是,读取文本文件,将文本文件中的有用数据以字典的形式进行存储,字典中的键和值,类型都是字符串,在字典中搜索指定项觉得很慢,请问大家有没有好的解决办法?
4楼2013-12-08 15:43:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见