c# - 如何将 SQL Server 表中的行以 10000 行 block 的形式流式传输到 .NET 应用程序中?

标签 c# .net sql sql-server-2008

我在 Microsoft SQL Server 2008 R2 中有一个包含 3 亿行的表。日期列[DataDate]上有聚集索引,这意味着整个表按日期列排序。

如何以 10000 行 block 的形式将该表中的数据流式传输到我的 .NET 应用程序中?

环境:

  • 使用 C#。
  • 必须能够随时暂停数据流,以允许客户端处理行。
  • 遗憾的是,无法使用 select * from,因为这将选择整个表(其 50GB - 无法放入内存)。

最佳答案

您可以运行 SELECT * FROM,然后在 SqlDataReader 中循环遍历结果。

这永远不会一次将多于一行加载到内存中;当您调用 Read() 时,它将加载每一行。

关于c# - 如何将 SQL Server 表中的行以 10000 行 block 的形式流式传输到 .NET 应用程序中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6487549/

相关文章:

c# - “UTF8”不是受支持的编码名称

c# - 通过可观察序列线程论证

c# - 使用 Noda Time,如何使用 LocalDate 和 LocalTime 创建 LocalDateTime

php - SELECT 中的 mySQL 空 SELECT 不应为整个查询返回 null

c# - 具有两个访问级别的登录系统

javascript - 拒绝加载脚本 'https://cdnjs.cloudflare.com/ajax/libs/jquery-csv/0.71/jquery.csv-0.71.min.js'

.net - 将多页 TIFF 转换为 PNG .Net

c# - 如何在 MAUI 中删除操作栏

java - Spark SQL Java : Exception in thread "main" org. apache.spark.SparkException

mysql - 获取两个日期之间的数据