我想从一个包含10亿条记录的大表中读取记录。注意表没有自动增量列。它只有唯一的列类型varchar。我想读取记录集/批处理并将记录信息保存在某个位置。批量计数10万。假设这个表包含了一百万条我想批量读取的记录,所以第一批读取0到100k,然后保存下一批100k到200k,等等,最后我有10个批处理文件。每批10万。我使用下面的查询来实现这一点,但是在500k记录之后,它变得非常慢。
示例查询
// uniqueid like 12381we,1234ud
With CETA AS
(
Select ROW_NUMBER() OVER(ORDER BY uniqueid) as ID,info from Table
ORDER BY ID OFFSET 700000 ROWS FETCH NEXT 100000 ROWS ONLY
)
Select * from CETA A inner join TableB B on B.ID = A.ID
inner join TableB C on C.ID = A.ID
暂无答案!
目前还没有任何答案,快来回答吧!