我有一个“庞大”的结果从SQL查询设置。 约2-3万行类型为varchar(50)的列。 这可能不是太大,是担心。 但是,如果我有什么要处理10-15这样的列?
所以,这使我想到我的问题 - 有没有一种方法来检索一个巨大的使用SQL小块数据量,把它们装入内存,做加工用哪个语言/工具,你希望(我使用C#和SSIS的ETL工具)?
如果你觉得这个问题需要更清晰,请把注释。
我有一个“庞大”的结果从SQL查询设置。 约2-3万行类型为varchar(50)的列。 这可能不是太大,是担心。 但是,如果我有什么要处理10-15这样的列?
所以,这使我想到我的问题 - 有没有一种方法来检索一个巨大的使用SQL小块数据量,把它们装入内存,做加工用哪个语言/工具,你希望(我使用C#和SSIS的ETL工具)?
如果你觉得这个问题需要更清晰,请把注释。
DECLARE @PageN int = 0 -- 0..N
DECLARE @RowPerPage int = 20
SELECT *
FROM (
SELECT ROW_NUMBER() OVER (ORDER BY [LastLoginDate]) as rowNumber
,Customer.*
FROM dbo.Customer
--WHERE <Search cond>
) paging
WHERE rowNumber > @PageN * @RowPerPage
AND rowNumber <= (@PageN + 1) * @RowPerPage;
分页的MS SQL 2008
是的,这是可能的。 在C#中,你可以使用LINQ只要你遍历结果(和避免调用ToList()
或类似的东西)从结果集的行会被加载一次一个。 如果你不使用LINQ,你可以使用SqlDataReader来代替。