如何从包含10亿条记录的大型表中批量读取记录,而sql中没有增量列

jhiyze9q  于 2021-08-09  发布在  Java
关注(0)|答案(0)|浏览(207)

我想从一个包含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

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题