CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  基础类

关于程序执行效率的优化(大家都来看看吧,给我点启发和帮助)

楼主wwsatan(风度翩翩的猪肉王子)2001-12-13 10:40:47 在 VC/MFC / 基础类 提问

一个扫描器的程序,c/s模型,win   2000+vc   6.0  
  最近在对客户端的测试当中,强烈感觉到控制台这边的响应速度太慢了  
  在对树视和相关联的列表视进行操作时,也就是当用户点击某个策略的时候,其下的所有主机的相关信息都要在listctrl(一共四个tab,每个页面一个listctrl)中显示,扫描的主机数超过50时,就会有相当一段时间的停滞,这些操作主要包括对控件的操作和数据库操作,具体分析如下:  
  控件的操作:  
  主要是ctreectrl的操作,就是遍历所有的叶子节点,然后对每个节点有相关的数据库操作,实际资源占用较大,win的资源管理器是如何处理的呀?  
   
  数据库操作:  
  在对树节点操作的同时,还要进行数据库操作,我们用的是ADO+ACCESS,程序启  
  动时建立数据库连接,退出时关闭连接,整个程序运行的时候并没有频繁的开关数据库连接对象,取而代之的是记录集对象的频繁建立和释放,据统计,  
  对每一个节点,平均每个节点显示一次它所包含的四个tab中的信息,需要进行9次记录集对象的创建和释放,9次sql查询,每次查询返回的  
  记录条数的范围从1到无穷大直到遍历整张表的所有记录  
   
  这样的效率肯定是非常低的,作为控制台程序负担太大,一定要想办法改善!  
  可是我现在没有具体的想法呀?大家有什么好的建议么?  
  请大家不吝赐教!!!!狠急地说!!!  
  我的信箱是wwsatan@263.net  
  必要的话,我可以给部分源代码,请留email 问题点数:61、回复次数:4Top

1 楼wwsatan(风度翩翩的猪肉王子)回复于 2001-12-13 10:59:09 得分 0

关注一下吧Top

2 楼whool(喔)回复于 2001-12-13 10:59:37 得分 51

这个问题的瓶颈在于你频繁的对记录集的建立和释放,我原来作了一个ODBC版本的,和你差不多也是频繁建立和释放,我的CPU用掉将近100%,或来不这样做,只在程序退出时才释放,用的时候判断是否建立,没有就建立,有就使用原来的连接,你为什么一定要频繁建立和释放呢?这样底层会做很多事情,所以会很慢,不妨试试。Top

3 楼wwsatan(风度翩翩的猪肉王子)回复于 2001-12-13 11:12:02 得分 0

感谢whool!!!  
  sql查询占用资源大么?  
  能不能用缓冲来处理?Top

4 楼xiaoxiaohan(萧晓寒)回复于 2001-12-13 17:19:56 得分 10

改变程序优先级不可以吗?Top

相关问题

  • mysql语句执行效率的优化问题
  • Sql执行效率
  • 高分求助!将一个sql文优化(现在的执行效率太低了),谢谢。
  • ◆◆◆看看这个语句,感觉执行的效率不高,怎么优化呢?◆◆◆在线等待...
  • 请教大家一个非常有意义的SQL执行效率优化的问题
  • 关于执行效率
  • FastReport执行效率问题
  • ArrayList和Vector谁的执行效率高
  • PFC 程序执行效率问题?
  • 页面执行效率问题

关键词

  • 数据库
  • 节点
  • 连接
  • 程序
  • 操作
  • 释放
  • 建立
  • 记录
  • 对象
  • 资源

得分解答快速导航

  • 帖主:wwsatan
  • whool
  • xiaoxiaohan

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo