3

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

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

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

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

4

4 回答 4

3

我会使用分页

您也可以使用存储过程来完成此操作。

于 2010-10-19T19:09:54.123 回答
1

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

于 2010-10-19T19:13:14.803 回答
1

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

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

于 2010-10-19T19:14:11.947 回答
0
  1. 如果性能非常重要,那么不要使用数据网格,使用中继器或普通循环。
  2. 我会假设缓存的 XML 文件(内存)比从数据库中检索数据要快,但也可能使用大量内存,所以我认为这不是正确的答案。
  3. select 语句和 DataReader 非常相似,但是 DataReader 有一些开箱即用的功能,所以这就是我的答案。
于 2010-10-19T19:16:59.643 回答