VC下,一次查询2万条数据,DB -> ADO.Recordsedt -> COleSafeArray -> OWC控件 20.0秒。怎么办啊???在程序中经过计时测试:
DB -> ADO.Recordsedt (execute select sql) = 2.5s
ADO.Recordsedt -> COleSafeArray = 2.2s
COleSafeArray -> OWC控件 = 15.3s多次测试,基本上都是这个速度。我这里肯定有优化的空间,
在数据流过的每个环节,都是全部2万条记录。
×如果能减少数据流量,比如,只在OWC控件上显示一屏的数据,OWC在滚动、排序的时候动态获取数据。
×牺牲系统分层的清晰。直接传递ADO.Recordsedt到OWC,由OWC与ADO.Recordsedt交互来控制数据显示。有这几个组件的使用经验的大侠,请多多指教。
DB -> ADO.Recordsedt (execute select sql) = 2.5s
ADO.Recordsedt -> COleSafeArray = 2.2s
COleSafeArray -> OWC控件 = 15.3s多次测试,基本上都是这个速度。我这里肯定有优化的空间,
在数据流过的每个环节,都是全部2万条记录。
×如果能减少数据流量,比如,只在OWC控件上显示一屏的数据,OWC在滚动、排序的时候动态获取数据。
×牺牲系统分层的清晰。直接传递ADO.Recordsedt到OWC,由OWC与ADO.Recordsedt交互来控制数据显示。有这几个组件的使用经验的大侠,请多多指教。
解决方案 »
- 请大家谈谈WTL!
- 新手 帮忙看看到底是怎么回事啊
- 高手们!一个关于RegSetValueEx最后一个参数的问题
- 怎样在WINDOWS NT操作系统下访问USB硬盘
- 进程外组件内启动的线程怎么向客户端触发事件?
- 请问如何把工具条与对话框联系起来?
- 如何使CListCtrl控件中的标题更换背景颜色
- 做COM+访问数据库,急需OLE DB接口的例子,谢谢了大家!
- 不用派生的静态类,请问直接改静态文本上的文字的颜色?
- 请各位高手引导我这个初学者吧!·#¥%……
- CreateThread创建一个ThreadID,并返回线程的句柄,我想知道有没有函数能够通过线程的句柄得到threadid?
- 大家看看我的代码为老是在增加内存.
自己顶。