【问题标题】:.Net application uses too much memory viewing a million data (Mysql, Datagridview).Net 应用程序使用太多内存查看一百万个数据(Mysql、Datagridview)
【发布时间】:2016-10-29 15:34:47
【问题描述】:

我的 C#.net 应用程序使用超过 500MB 内存查看 100 万条数据。我正在使用 Mysql(simple select * from table) 和 Datagridview

【问题讨论】:

  • 只是为了好奇。查看 100 万条数据需要多少时间?
  • 大约 5-10 秒(ID、姓名、电子邮件、电话、地址)
  • 这里有什么问题?
  • 也许我不清楚。您(或您的用户)需要多少时间来查看该数据?为什么要加载所有这些信息?有理由不使用更有意义的查询,使用 where 语句来限制返回的结果集?
  • 如果我限制返回的数据,正确的数字是多少?

标签: c# mysql .net winforms


【解决方案1】:

如果包含一百万个数据项的表的所有行都保存在内存中,那么可以轻松达到 500 MB(假设每行大约 520 字节)。

为了减少内存使用,您可以使用 VirtualModeDataGridView 来处理这个问题。先看看https://msdn.microsoft.com/library/15a31akc(v=vs.110).aspx

结合 MSSQL 查询中的分页,您可以更好地控制哪些数据部分保存在内存中。

这会增加复杂性,但会减少内存消耗。

【讨论】:

    猜你喜欢
    • 2012-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-01
    • 2016-12-03
    • 1970-01-01
    • 1970-01-01
    • 2013-01-10
    相关资源
    最近更新 更多