求助RecordsetPtr的问题!!!!!!!!!!读取数据很慢求解!!

lucifronlucifer 2009-06-16 01:09:27
本人新手!!!求助RecordsetPtr的问题!!!!!!!!!!读取数据很慢求解!!

比如有一张表goods有10万行,我要select出1000张子表,然后用sum或者count(*)来统计每张子表的某个字段;
现在的办法是:
1.创建一个数据集变量m_pRecordsetPtr
2.然后m_pRecordsetPtr->open(select....) select出第一张子表
3.然后用sum或者count(*)来统计每张子表的某个字段
4.关闭m_pRecordsetPtr
接下来循环执行1到4步1000次,,,

感觉这样太慢了啊,,这样岂不是要读数据库的表N次,就是硬盘读N次。。
有什么办法能把表放到内存中读,这样就快了。。。

每次open操作都是进行内存io。。



...全文
179 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
Oliver2891 2009-09-15
  • 打赏
  • 举报
回复
存储过程是可以提高不少速度,用的什么数据库啊
zhaohongbo83 2009-09-15
  • 打赏
  • 举报
回复
对建议用存储过程来完成,sql优化至关重要呀!
zzyzgydotnet 2009-09-14
  • 打赏
  • 举报
回复
up
arthur____ 2009-06-22
  • 打赏
  • 举报
回复
数据量大。。就不要总读。。
用到时再读
OPEN CLOSE 是很浪费时间的。
你全把数据读到内存。。那内存会很累的。
youhao1999 2009-06-21
  • 打赏
  • 举报
回复
存储过程;索引
metaboy 2009-06-16
  • 打赏
  • 举报
回复
查询字段做成索引
jcwinner 2009-06-16
  • 打赏
  • 举报
回复
作成存储过程,sql优化也是必须的.比如,对于庞大的数据,like等关键字不要用
峰白 2009-06-16
  • 打赏
  • 举报
回复
将统计方法做成存储过程;

将用到的条件字段设成索引,提高查询速度
wanyuzhen 2009-06-16
  • 打赏
  • 举报
回复
open 和close 确实消耗时间,可以只open 和close 一次,然后使用
Requery查询
liuchaotao 2009-06-16
  • 打赏
  • 举报
回复
统计做成一个过程,放在服务器端执行.
Gothic_girl 2009-06-16
  • 打赏
  • 举报
回复
sql 优化

因为实际的耗时都在io,但是操作需要,io量无法减少,只能看看是否优化一下sql

4,018

社区成员

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

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