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

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

环境:


使用C#。
必须能够随时暂停数据流,以允许客户端处理行。
不幸的是,不能使用select * from,因为这会选择整个表(其50GB-无法容纳在内存中)。

最佳答案

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

这样一来,一次加载到内存中永远不会超过一行。它将在您调用Read()时加载每一行。

08-26 14:56