asp.net - 在 ASP.NET 中提取多个记录集时的 DataReader 或 DataSet

标签 asp.net performance dataset sqldatareader

我有一个 ASP.NET 页面,它有一堆需要填充的控件(例如下拉列表)。

我想对数据库进行一次旅行并带回多个记录集,而不是为每个控件进行往返。

我可以带回一个 DataSet 中的多个表,或者我可以带回一个 DataReader 并使用“.NextResult”将每个结果集放入一个自定义业务类中。

使用 DataReader 方法我可能会看到足够大的性能优势,还是应该只使用 DataSet 方法?

任何有关您通常如何处理此问题的示例都将不胜感激。

最佳答案

  • 如果您有超过 1000 个 记录从您的数据库中带来。
  • 如果你不是很感兴趣
    自定义存储和自定义分页
    “对于 GridView”
  • 如果您的服务器有内存压力。
  • 如果连接没有问题
    每次该页面时您的数据库
    叫。

  • 然后我认为使用 DataReader 更好。

    别的
  • 如果您少于 1000 记录从您的数据库中带来。
  • 如果你有兴趣
    存储和分页“对于
    网格 View ”
  • 如果您的服务器没有内存
    压力。
  • 如果您想连接到您的
    只需一次即可获取数据库
    的好处缓存 .

  • 然后我认为更好的是使用DataSet。

    我希望我是对的。

    关于asp.net - 在 ASP.NET 中提取多个记录集时的 DataReader 或 DataSet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/180283/

    相关文章:

    c# - 为什么某些参数类型会导致 ASP.NET Web API 中的路由不明确?

    linux - 什么是 `top` 指的是无交换机器上的虚拟内存

    ios - 如何创建分段时间线数据集(使用 Objective-C)

    r - 如何合并数据集而不在一个有多个值的地方循环?

    java - 我的MapReducer无法正常工作-无法获得输出

    c# - 读取 XML 的第一行

    c# - 将 JS OnClientClick 添加到代码隐藏中的按钮时出现问题

    asp.net - 在 ASP.NET 站点上添加事件

    python - 增加列表理解中多个 for 循环的时间

    android - XML 中的未知错误