确保SProc不会返回太多数据

时间:2012-06-04 10:55:32

标签: sql-server c#-4.0 datatable

我想知道如何确保从SProc返回并存储在数据表中的结果不会太大而无法在内存中处理。

我已经进行了挖掘并找到了以下Find size of object instance in bytes in c#,但所选答案表明没有这样做。

我认为这是一个已经解决的问题,因此我很欣赏任何指针。

感谢。

1 个答案:

答案 0 :(得分:2)

您可能希望实现分页。

要执行此操作,请将@pageNum@pageSize参数添加到SP并更改查询:

SELECT  *
FROM    (
        SELECT  *, ROW_NUMBER() OVER (ORDER BY whatever_field) rn
        FROM    (
--              here goes the old query
                ) q
        WHERE   rn BETWEEN @pageSize * @pageNum + 1 AND @pageSize * (@pageNum + 1)
        ) q
ORDER BY
        wnatever_field