多线程运算过程中需要读取外存数据怎么办

蓝贵人 2011-07-25 05:20:53
多线程运算过程中发现参与运算的数据没在内存(数据量大,全部放内存的话存不下),需要读取外存数据,怎么控制?急问。
...全文
201 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
蓝贵人 2011-07-28
  • 打赏
  • 举报
回复
优化了数据库结构 及 查询的sql语句,速度提升了不少,基本满足要求了。
感谢大家的帮助,结贴给分。
蓝贵人 2011-07-26
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 seeseecn 的回复:]
table有加索引吗?加索引的话 会提高不少效率哦
[/Quote]
都设有主键
SEESEECN 2011-07-26
  • 打赏
  • 举报
回复
table有加索引吗?加索引的话 会提高不少效率哦
蓝贵人 2011-07-26
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 csx007700 的回复:]
引用楼主 caixiangyuan 的回复:
多线程运算过程中发现参与运算的数据没在内存(数据量大,全部放内存的话存不下),需要读取外存数据,怎么控制?急问。


这样的话要考虑提升你的算法了,看看你程序的算法以及SQL语句吧
[/Quote]
谢谢,
看来是要优化下了。
蓝贵人 2011-07-26
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 oyljerry 的回复:]
那么就可能要提供你的SQL语句效率.
[/Quote]

SQL语句大致如下: select table2.c1,table2.c2,table2.c3 from table2 where table2.c2 = (select table1.c1 form table1 where table1.c2 = 1 and table1.c3 = 1)

其中 table1 数据量小 table2 数据量大
relive007 2011-07-26
  • 打赏
  • 举报
回复
实在不行,可以考虑采用一个线程读入数据
csx007700 2011-07-25
  • 打赏
  • 举报
回复
[Quote=引用楼主 caixiangyuan 的回复:]
多线程运算过程中发现参与运算的数据没在内存(数据量大,全部放内存的话存不下),需要读取外存数据,怎么控制?急问。
[/Quote]

这样的话要考虑提升你的算法了,看看你程序的算法以及SQL语句吧
oyljerry 2011-07-25
  • 打赏
  • 举报
回复
那么就可能要提供你的SQL语句效率.
蓝贵人 2011-07-25
  • 打赏
  • 举报
回复
回复 ouyh12345
oyljerry

ReadFile()么?我存的是 Access 数据库,所以用的 ado 读取,但是发现很耗时,怎么改进?
oyljerry 2011-07-25
  • 打赏
  • 举报
回复
分块读取文件到内存,不需要一次性读入,ReadFile()等可以指定文件读取的大小,然后自己设置好文件偏移来一块块读取数据
ouyh12345 2011-07-25
  • 打赏
  • 举报
回复
和正常读写一样啊
CreateFile、ReadFile

15,473

社区成员

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

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