C#数据集、分页和大量数据
本文关键字:数据 分页 数据集 | 更新日期: 2023-09-27 17:47:46
我想在一个数据集中显示大量数据,100000条记录大约10列,这需要消耗大量的ram 700MB。我也尝试过使用分页,这将减少大约15-20%,但我真的不喜欢使用分页时使用的上一个/下一个按钮。我目前没有将数据写入磁盘,应该吗?如果是,最常见的方法是什么?数据不会在被查看时永远存储,然后可能会运行一个新的查询,并可以查看另外70000条记录。最好的方法是什么?
谢谢你的建议。
实际情况是,最终用户很少需要看到他们数据集的整体,所以我会使用您喜欢的方法来显示数据(listview),并构建一个自定义寻呼机,以便数据集只提供所需记录数目的结果。否则,每次页面加载都会导致重新调用数据集。
临时文件的XML方法或利用通过存储过程创建的临时表是可选的,但您仍然必须筛选和显示数据。
一个重要的问题是这些数据来自哪里。这将有助于确定您可以选择哪些选项。写入磁盘是可行的,但这可能不是最好的选择,原因有三:
- 作为一名用户,如果你的应用程序在没有任何警告的情况下突然占用了700Mb的磁盘空间,我会非常恼火。但是,我会注意到这样的事情。我想很多用户不会。不过:空间很大
- 根据数据来源的不同,即使是最初的传输也可能需要比您真正想要的更长的时间
- 同样,作为一名用户,我不可能手动挖掘价值700Mb的数据。这意味着你几乎不需要显示它。你只想加载请求的页面,一次加载一页(或几页)
我建议使用内存映射文件。。。不确定是否。NET还包括对它的支持。
需要处理大量数据,并将aroudn保存在内存中。
这是ASP吗。NET应用程序?还是Windows应用程序?
我个人发现,使用自定义寻呼机设置(控制下一个以前的链接)和数据库级别的寻呼是获得最佳性能、只获得所需数据的唯一可能方法。。。。
如果您想减少内存占用