【问题标题】:What to use for a datagrid with a lot of data?具有大量数据的数据网格使用什么?
【发布时间】:2011-04-27 16:08:16
【问题描述】:

发现了这个有趣的面试问题:

您需要在 Web 窗体上的 DataGrid 中显示您部门过去 5 年的销售数据。性能非常重要。检索数据时使用的最佳策略是什么?

  • a) 使用 DataReader 对象检索 DataGrid 的数据。
  • b) 使用 DataSet 对象检索 DataGrid 的数据。
  • c) 使用简单的选择语句作为 DataGrid 的数据源。
  • d) 使用缓存的 XML 文件作为数据 使用 数据集。

我的答案是 c) 但我不太确定 谁能指出我正确的答案并向我解释 谢谢

【问题讨论】:

    标签: asp.net xml datagrid datareader


    【解决方案1】:
    1. 如果性能非常重要,则不要使用数据网格,而是使用中继器或普通循环。
    2. 我会假设缓存的 XML 文件(内存)比从数据库中检索数据要快,但也可能会使用大量内存,所以我认为这不是正确的答案。
    3. select 语句和 DataReader 非常相似,但 DataReader 有一些开箱即用的功能,所以这就是我的答案。

    【讨论】:

    • 如何在没有 DataReader 或 DataAdapter 的情况下对 .net 中的数据库执行 select 语句?
    【解决方案2】:

    我可能会说提供的答案中的选择 A,但分页绝对是更正确的答案。 DataSet 很慢并且会加载整个表,而 DataReader 非常快,只是遍历记录。

    使用 select 语句作为数据源只是不好的做法,从不推荐。

    【讨论】:

      【解决方案3】:

      基本上任何时候测试提到性能以及 DataReader 和 DataSet,经验法则是 DataReader == 快,DataSet == 慢。

      【讨论】:

      • 我个人的回答是“购买一个网格控件,如果它很重要,它会执行服务器端分页”
      【解决方案4】:

      我会使用paging

      你也可以做到这一点using stored procedures

      【讨论】:

      • 是的,这是正确的做法,IMO。 +1,但我没票了:[
      猜你喜欢
      • 2011-11-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-14
      • 2011-01-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多