Scenario:我们正在从 SQL Server 获取行到 C#.Net 控制台应用程序,并通过存储过程对从 SQL Server 检索到的数据执行操作;执行操作后,新数据将使用 C#-MongoDB-Driver 存储到 MongoDB 中。
Issue:有数十亿行。我的存储过程包含查询如下:
select * from table_name
为了计算出一些批量逻辑,没有标识列或任何日期列等。
信息:到目前为止,应用程序正在获取最多 3500 - 5000 条记录并将其存储到 MongoDB 中,然后抛出错误,如下所示:
System.Runtime.InteropServices.SEHException (0x80004005):外部组件引发异常。
Question:任何人都可以建议我一些逻辑来解决从 SQL Server 批量读取/获取的问题吗?
如果你不能使用OFFSET-FETCH
在 SQL Server 2012 中,假设表有一个主键或列,可以让您唯一地标识一行,我们称其为UniqueKey
,那么在 2005 年以上您可以使用ROW_NUMBER像这样...
SELECT UniqueKey, col2, col3
FROM
(
SELECT UniqueKey, col2, col3, ROW_NUMBER() OVER (ORDER BY UniqueKey) AS RowNum
FROM YourTable
) sub
WHERE sub.RowNum BETWEEN @startRow AND @endRow
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)