大数据量信息的delphi操作,性能瓶颈(200分)

  • 主题发起人 主题发起人 oxygengj
  • 开始时间 开始时间
O

oxygengj

Unregistered / Unconfirmed
GUEST, unregistred user!
我在一个文本框输入一个值,然后这个值作为查询条件要在另外的表那数据,返回到一个下来菜单,那个另外的表量很大,sql执行时600ms,但是整个事件要4000+,硬件正常,局域网正常,什么地方有问题呢?
 
更新下拉菜单前先锁定更新,更新完成了再解锁试试
 
ComboBox1.Items.BeginUpdate;<br>try<br>&nbsp; //更新数据<br>finally<br>&nbsp; ComboBox1.Items.EndUpdate;<br>end;
 
不要每次都去取数据,弄个数据集放到本地以后通过过滤来筛选需要的数据到列表
 
那个另外的表量很大,根据条件来取出数据,难道满足条件的就有几万条数据?数据集不要返回太多的数据,那样会慢的.
 
赞成iamy 把数据抓到本地数据集中处理
 
可以下载到本地,然后用一个record array 处理
 
谢谢,我试试去。
 
开多一个线程动态去加载,这样主程序不需要任何的等待
 
到本地不现实,而且还要考虑好多问题,同步等等<br>赞同开个线程取,看看值不值得了,其实效果差不多,因为不取完也不能下一步操作啊,<br>用户还是等,只是感觉好点,程序不感觉死了似的,<br><br>建议更改程序界面,<br>用下一步、下一步的方式,取得数据也可以放到大一点的显示框,<br>如果数据很多,用下拉框,用户会很痛苦。
 
如果数据量真的有那么大还是不要用checkbox了,用那种弹出窗体的initbutton最好,弹出的下面是一个GRID,这样速度也快了很多,用户也方便了很多。
 
李维的高效数据库编程中有这么一个列子,用dbExpress优化后性能会有大幅提高<br>http://www.delphifans.com/SoftView/SoftView_1385.html
 
优化网络后效果提高。
 

Similar threads

S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
913
SUNSTONE的Delphi笔记
S
S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
后退
顶部