我有一个面试问题。
Q. 如何Gridview contains 100000 Records
在 c# asp.net 中提高数据(数据源可能是 XML 或 DB)的性能?
我只是眨眼,因为我对此没有答案。请给我解决方案。如果可能,请提供一个演示。
我有一个面试问题。
Q. 如何Gridview contains 100000 Records
在 c# asp.net 中提高数据(数据源可能是 XML 或 DB)的性能?
我只是眨眼,因为我对此没有答案。请给我解决方案。如果可能,请提供一个演示。
没有 gridview 应该包含 100000 条记录。
您的数据源可能包含 10 倍于该数量的记录,这无关紧要。如果您在屏幕上向用户展示超过 100 条记录,则很难使用这些数据。
为 gridview 选择一个支持分页的数据源,这样您只需处理要在屏幕上显示的记录数。
对于数据库,您可以使用SqlDataSource 之类的东西。默认的XmlDataSource不支持分页,在这种情况下,网格将在内存中保存所有记录并自行处理分页。对于具有大量记录的 xml,请考虑使用ObjectDataSource,您可以在其中自己实现分页。
如果可以选择,请始终选择支持分页的数据源。
要修复这样的 GridView,我认为一个好的方法是:
结果的过滤+最大限制(在我看来)是保持网格大小可管理的好方法。如果使用某些指定的过滤器集(=搜索词)达到最大限制,您可以向用户显示有关它的消息,并鼓励他/她在必要时指定更具体的搜索。
如前所述,gridview 不应该包含这么多行。在你的采访中,他们想看看你是否可以说它的实现很糟糕,而不是检查你的编程技能。
但是,如果坚持要获得良好的性能,我会建议使用 Repeater 而不是 Gridview。
干杯,冉