| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1532 人关注过本帖, 1 人收藏
标题:ADO.net读数据怎么这么慢呀.
取消只看楼主 加入收藏
C_B_Lu
Rank: 1
等 级:新手上路
威 望:1
帖 子:453
专家分:0
注 册:2006-1-10
收藏(1)
 问题点数:0 回复次数:6 
ADO.net读数据怎么这么慢呀.
我用ADO.net载入本地SQL数据到DataGridView中,不到五万笔记录,却花了近四分钟,有这么慢吗?比我们老系统的VFP还慢上十倍呀.
搜索更多相关主题的帖子: ADO 数据 
2007-11-03 12:37
C_B_Lu
Rank: 1
等 级:新手上路
威 望:1
帖 子:453
专家分:0
注 册:2006-1-10
收藏
得分:0 
以下是引用purana在2007-11-3 12:54:27的发言:
会不会是你的程序设计上的问题?..
设置合适的索引..
select语句是否优化..
在DataGridView里显示5万笔记录?..
不分页?..谁看..

是Windws程序,不有分页的.


帮助那些真正需要帮助的人,是对帮助你的人最好的回报!
2007-11-03 14:01
C_B_Lu
Rank: 1
等 级:新手上路
威 望:1
帖 子:453
专家分:0
注 册:2006-1-10
收藏
得分:0 

那该怎么做呀,这个表存储的是公司的料件信息,应是一次性全部载入后,再让大家要筛选呀.

我们公那听旧系统是用Visual Foxpro做的,读数据都比我的快.


帮助那些真正需要帮助的人,是对帮助你的人最好的回报!
2007-11-03 14:38
C_B_Lu
Rank: 1
等 级:新手上路
威 望:1
帖 子:453
专家分:0
注 册:2006-1-10
收藏
得分:0 

即使是用分批载入的方法, 也会涉及到多个字段用模糊查询.
如下:SELECT * FROM Part WHERE filed1 LIKE '%ABC%' OR filed2 LIKE '%ABC%' ....
速度一样会很慢的.

因为这个表是料件表,还程序的其他地方(如制作Bom表和供应商资料中),可能都需要提供一个列表给用户去选择呀.

大家是怎么解决这个问题的??


帮助那些真正需要帮助的人,是对帮助你的人最好的回报!
2007-11-03 15:34
C_B_Lu
Rank: 1
等 级:新手上路
威 望:1
帖 子:453
专家分:0
注 册:2006-1-10
收藏
得分:0 
以下是引用师妃暄在2007-11-3 22:46:23的发言:
这是因为你把海量的数据一次性取出来放在DataSet中...想想这个效率吧

如果我没猜错的话..你是这么做的

.....

ada.Fill(ds);
.....

这样对于少量的数据可以.但多了就不好了

我告诉你吧.ada.Fill()有重载方法...可以从数据库中一次只取出指定数目的记录....

这样的效率就高多了.

但是我的这个表存储的是公司的料件信息呀,需要一次性全部载入到WinForm的DataGridView控件中,然后供用户筛选查找, 而非一般的记录性资料,只需查看近期的即可...


帮助那些真正需要帮助的人,是对帮助你的人最好的回报!
2007-11-03 22:59
C_B_Lu
Rank: 1
等 级:新手上路
威 望:1
帖 子:453
专家分:0
注 册:2006-1-10
收藏
得分:0 

目前使用分頁的方式來做﹐感覺在是很慢﹐在轉換到其他頁時﹐了得六七秒的時間(每頁才200行數据呀)


帮助那些真正需要帮助的人,是对帮助你的人最好的回报!
2007-11-06 14:54
C_B_Lu
Rank: 1
等 级:新手上路
威 望:1
帖 子:453
专家分:0
注 册:2006-1-10
收藏
得分:0 

我的分页是用如下方法实现的,不知对不对,请大家指教.
变量:
pageNo表示当前页码
loadRowCount表示每页显示的行数

private void loadData(int pageNo)
{
int startRecord = pageNo * loadRowCount - loadRowCount;
if (ds.Tables["ViewPart"] != null)
{
ds.Tables["ViewPart"].Clear();
}
sdaViewPart.Fill(ds, startRecord, loadRowCount, "ViewPart");

currentPage = pageNo;
tstbCurrentPage.Text = currentPage.ToString();
setRecordMoveBtnState();
}


帮助那些真正需要帮助的人,是对帮助你的人最好的回报!
2007-11-07 11:26
快速回复:ADO.net读数据怎么这么慢呀.
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.043800 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved