1

我有一个面试问题。

Q. 如何Gridview contains 100000 Records在 c# asp.net 中提高数据(数据源可能是 XML 或 DB)的性能?

我只是眨眼,因为我对此没有答案。请给我解决方案。如果可能,请提供一个演示。

4

3 回答 3

7

没有 gridview 应该包含 100000 条记录。

您的数据源可能包含 10 倍于该数量的记录,这无关紧要。如果您在屏幕上向用户展示超过 100 条记录,则很难使用这些数据。

为 gridview 选择一个支持分页的数据源,这样您只需处理要在屏幕上显示的记录数。

对于数据库,您可以使用SqlDataSource 之类的东西。默认的XmlDataSource不支持分页,在这种情况下,网格将在内存中保存所有记录并自行处理分页。对于具有大量记录的 xml,请考虑使用ObjectDataSource,您可以在其中自己实现分页。

如果可以选择,请始终选择支持分页的数据源。

于 2012-08-20T04:17:48.503 回答
0

要修复这样的 GridView,我认为一个好的方法是:

  • 添加分页(正如其他人已经指出的那样)
  • 添加过滤/搜索
  • 为显示的最大行数添加上限/限制

结果的过滤+最大限制(在我看来)是保持网格大小可管理的好方法。如果使用某些指定的过滤器集(=搜索词)达到最大限制,您可以向用户显示有关它的消息,并鼓励他/她在必要时指定更具体的搜索。

于 2012-08-20T06:03:35.093 回答
0

如前所述,gridview 不应该包含这么多行。在你的采访中,他们想看看你是否可以说它的实现很糟糕,而不是检查你的编程技能。

但是,如果坚持要获得良好的性能,我会建议使用 Repeater 而不是 Gridview。

干杯,冉

于 2012-08-29T12:25:50.357 回答