日期:2014-05-18  浏览次数:20712 次

怎样提高程序运行速度
WinForm里面DataGridView控件,手动绑定从Access查询出来的数据
编码内容大概如下:
string sql = “select XX, XX, XX, XX from table”;
Datatable dt = GetDataTable(sql);
DataGridView.dataSource = dt;

若数据量较大,比如说3000条,整体速度会变得很慢,
呵呵,菜鸟不懂得优化
请问下有什么办法可以加快这个过程


------解决方案--------------------
优化数据库
------解决方案--------------------
首先,access给个索引,然后查询的时候,给索引加个搜索条件;
至于界面上的嘛,你可以用分页,每页显示多少条,不要一次性全找出来显示,
------解决方案--------------------
绑定的时候采用虚模式
------解决方案--------------------
只差需要的数据和字段,减少数据
------解决方案--------------------
分页。。。

没必要一下子查询/显示那么多。
------解决方案--------------------
分页是最直接的,一次性把数据都显示感觉没必要,分页就可以提高速度
------解决方案--------------------
一次性查询Access所有数据,填充到强数据类型DataSet(内存里面),
在DataGridView里面用分页技术,每次只从DataSet里面取10条或20条
数据,这样速度就快不少了
------解决方案--------------------
多线程
------解决方案--------------------
探讨

一次性查询Access所有数据,填充到强数据类型DataSet(内存里面),
在DataGridView里面用分页技术,每次只从DataSet里面取10条或20条
数据,这样速度就快不少了

------解决方案--------------------
得看瓶颈在哪里。
1 数据库查询语句返回结果就慢,优化数据库,包括减少列的定义的大小,返回较少的列,使用索引。
2 返回慢,是网络问题,使用条件检索返回较少的结果,减少数据吞吐量,增加网络带宽。
3 响应慢,返回结果过多,导致反映到界面上速度慢,这时可以使用分页显示,优化程序速度,优化界面显示等等。
------解决方案--------------------
更换数据库,ACCESS本身只能用在少量数据上。不要分页,又不是网页程序,完全没必要+不友善。
------解决方案--------------------
3000条也算大数据
普通的SQl就能完成
------解决方案--------------------

分页才是你解决问题的方法。。。

一下子查询三千条显示。。

我想你没这个需求。。。

没必要一下全查出来