不知道你是什么文件,如果是数据库,取决于数据库本身和网络,你可以使用一些内存数据库加快读取
如果是文件,那么如果太大会导致卡死,体验非常不好,你用内存映射,分块读取,这样体验会好
datagridview用虚拟显示应该可以了,你可以只填充看到的那几行数,滚动时再显示其他数据
如果是文件,那么如果太大会导致卡死,体验非常不好,你用内存映射,分块读取,这样体验会好
datagridview用虚拟显示应该可以了,你可以只填充看到的那几行数,滚动时再显示其他数据
解决方案 »
- 关于datagridview数据源绑定后添加行的问题
- .net framework概念,看我理解错没!
- 我水晶报表在组后面建立空白页最后总多出一页
- 禁止下拉框下拉功能的问题
- picturebox利用openFileDialog加载文件,如果是可以显示的图形,则设定picturebox的宽度和高度为图形的尺寸,如果不是则报错,该怎么写呢
- div层在后台可以控制吗?
- 权限无效,无法更改 Pen,为什么?
- DataGridView 绑定列的问题,急,谢谢!
- C# WebService发送数据问题
- 文章分页问题,急
- httpwebrequest分段不能实现
- 如何在此代码中实现dadatable导出Excel时,自动调整列宽和行宽?此方法是将数据写入一个空模板,空模板我默认为设置文本,因为导出的数据的列是可变的
实际上 加大配置应该是可以加快速度的.. 不如 你买一个E7-8800的CPU外加1024G的内存 ..
有篇参考文章:
windows异步IO和IOCP。
http://blog.csdn.net/ztz0223/article/details/7791220
1. 不要一次读取全部数据,读一部分显示一部分
2. 不要一次显示全部数据,用户一次能处理多少就给他显示多少
3. 如果要实现读一部分的话,读取的时候控制读取 Buffer 的大小以及读取的 Offset,然后插入到要显示的 View 里面
机械硬盘一次给你读取那么多数据,压力太大。
//配置<cache>元素设置
<caching>//开发人员可以调整这5种选项
<!--应用程序数据缓存设定-->
<cache disableExpiration="false" privateBytesLimit="1024" disableMemoryCollection="false" percentagePhysicalMemoryUsedLimit="80" privateBytesPollTime="00:01:00"/>
</caching>
//将缓存数据循环读取并设置缓存内存KB数值大小
protected void Page_Load(object sender, EventArgs e)
{
Cache["Name"] = "张兆英";//加入缓存
Cache["Height"] = 160;
Cache["Weight"] = 55;
IDictionaryEnumerator CacheIDE = Cache.GetEnumerator();//显示缓存数据,
int i = 1;
string info = null;
Response.Write("缓存项目数据(Key / Value):" + "<br>");
while (CacheIDE.MoveNext())
{
info = i.ToString() + ". ";
info += CacheIDE.Key.ToString() + " : ";
info += CacheIDE.Value.ToString() + "<br>";
Response.Write(info);
i++;
}
//Cache数值使用上记得要明确类型
int index = Convert.ToInt16(Cache["Height"]) - Convert.ToInt16(Cache["Weight"]);
Response.Write("身高减去体重=" + index + "<br><br>");
//计算缓存项目的总数目
Response.Write("缓存项目总数:" + Cache.Count + "<br>");
//缓存内存KB数大小
Response.Write("缓存可使用内存大小:" + String.Format("{0:N0}", Cache.EffectivePrivateBytesLimit) + " Bytes<BR>");
}
既然你用了虚模式,那就把虚模式研究好。理论上用户只需要看到屏幕上显示的那些数据。
当你用写字板打开一个500m的Txt时,几乎是不可能完成的任务,但是换作word或者其他文字编辑工具,就非常轻松,好好想想是为什么。