从数据库中获取数据的效率问题

tanwei1002 2009-08-04 01:57:50
如数据库中有100w条数据,我需要将这100w条数据保存在本。
常规方法是 select以后然后对记录集进行处理,来进行保存。
可是如果数据量大的情况下,效率有点慢,我刚刚测试了下,加载20w条数据到本地,需要2000多毫秒。
我想问下,有没有什么办法能提高加载效率?
希望得到高手指点 谢谢了
...全文
110 11 打赏 收藏 转发到动态 举报
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
tanwei1002 2009-08-05
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 chehw 的回复:]
测试了一下, 从本机sql server数据库读50万条数据(3个字段, <int, varchar(50), varchar(50)>, 平均需781ms,
按本地硬盘读速率: 30M/s, 百兆网络读取速率: 10M/s计算, 扣除写内存的时间, 从网络加载50万条记录约需2s.

假设你读取的字段不太多, 20w条用2000ms的时间应该还有优化的余地.
[/Quote]

肯定不是本机数据库中读取啊,在本机肯定快一些

chehw 2009-08-04
  • 打赏
  • 举报
回复
测试了一下, 从本机sql server数据库读50万条数据(3个字段,<int, varchar(50), varchar(50)>, 平均需781ms,
按本地硬盘读速率: 30M/s, 百兆网络读取速率: 10M/s计算, 扣除写内存的时间, 从网络加载50万条记录约需2s.

假设你读取的字段不太多, 20w条用2000ms的时间应该还有优化的余地.
rendao0563 2009-08-04
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 tanwei1002 的回复:]
引用 4 楼 zaodt 的回复:
加载20w条数据到本地,需要2000多毫秒


2秒钟,很快啊!



我是在局域网内测试的,数据库在局域网的另外一台机器上,加载需要2秒多。
如果是在外网上我没测试过,但是应该比局域网要慢。
因为这程序以后要在外网应用,所以想如果能再提高效率就更好了
呵呵
[/Quote]

在外网应用不会直接让应用程序直接连接数据库。你这种情况一般会增加一个dbserver。
tanwei1002 2009-08-04
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 o_yale_o 的回复:]
如果是Access数据库,加载20w条数据到本地那可要N长时间啊哈
[/Quote]

是SQL SERVER2000,ado连接
不是Access数据库。
tanwei1002 2009-08-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zaodt 的回复:]
加载20w条数据到本地,需要2000多毫秒


2秒钟,很快啊!
[/Quote]


我是在局域网内测试的,数据库在局域网的另外一台机器上,加载需要2秒多。
如果是在外网上我没测试过,但是应该比局域网要慢。
因为这程序以后要在外网应用,所以想如果能再提高效率就更好了
呵呵
tanwei1002 2009-08-04
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 chehw 的回复:]
直接用odbc sdk api(别用MFC)。
尽量减少与数据库的通讯次数,如使用行向绑定,设置行集大小(ROW_ARRAY_SIZE)为10000,一次取1万条数据
[/Quote]

我程序就是用的MFC,如果不用MFC的话那得全部推倒重来了。。。。
o_yale_o 2009-08-04
  • 打赏
  • 举报
回复
如果是Access数据库,加载20w条数据到本地那可要N长时间啊哈
zaodt 2009-08-04
  • 打赏
  • 举报
回复
加载20w条数据到本地,需要2000多毫秒



2秒钟,很快啊!
chehw 2009-08-04
  • 打赏
  • 举报
回复
直接用odbc sdk api(别用MFC)。
尽量减少与数据库的通讯次数,如使用行向绑定,设置行集大小(ROW_ARRAY_SIZE)为10000,一次取1万条数据
rendao0563 2009-08-04
  • 打赏
  • 举报
回复
其实你select底层还是通过socket通信将数据传送过来。数量大的时候传送量自然就大了。
你这种情况。可以试试hash到多个数据库。获取数据的时候再从各个数据库取。
没有结果试验。LZ根据自己情况判断。
jiandiao 2009-08-04
  • 打赏
  • 举报
回复
新手,不会,关注

4,011

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 数据库
社区管理员
  • 数据库
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧