[英]I am using large amount of data for comparison.. is there any idea for paging the data to datatable
我正在使用大量数据进行比较,同时从数据库中获取记录以获取成千上万的记录并插入到数据表中,但是使用更多的内存和性能却非常慢。.是否有将数据分页到数据表的想法。
有一种方法可以做到。 这可能是许多解决方案之一。 如果说,您有一个表MainTable
,则如下创建临时表TempTable
Select Id, ROW_NUMBER() OVER(ORDER BY id) AS RowNum into TempTable from MainTable
这将在作业开始时为记录创建参考。 因此,如果将删除或添加任何记录,它们不会破坏您的代码。
现在,在C#中,首先,检索max(RowNum)
并使用this和pageSize
编写逻辑,在该逻辑中,您可以在计算循环中选择部分记录,并按如下方式检索数据
Select mt.* from MainTable mt inner join TempTable tt on mt.id = tt.id and tt.rownum between <startRow> and <endRow>
其中startRow
和endRow
是一个计算值。 如果在长时间运行的作业运行时删除了某些行,则返回的查询可能不完全是您设置的页面大小。 然后清理您的临时表。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.