我需要将100万条(甚至更多)记录从Server表插入到BigQuery表中,该表作为“链接服务器”存在于Server中,通过中的远程处理守护进程作为“链接服务器”存在。
此外,源表可能没有行数、Id等数的列。
现在,我可以使用此驱动程序将每秒1记录插入到BigQuery中,使用以下查询:
INSERT INTO [GBQ].[CDataGoogleBigQuery].[GoogleBigQuery].[natality]
SELECT *
FROM [natality].[dbo].[natality]
GO
但是对于这么多的记录,比如一百万甚至更多,这是一个非常低的性能
我目前正在使用Jedis从redis数据库服务器获取数据。我需要把这些数据推到MySQL上。redis服务器中有数百万条记录。使用以下语句,我可以将数据复制到一个集合中:
String pattern = "users*";//All keys starting with users
Set<String> users = jedis.keys(pattern)//Read all the keys in to set
现在我的users集拥有所有的记录。但在redis数据库中可能有上百万条与我的模式相匹配的记录。这最终会消耗掉我所有的记忆。我怎么能做下面这样的事?
我知道这个标题是相当通用的,但是我正在将100万条记录插入到一个AWS DynamoDB中,目前它采用了~30 minutes to load。我有100万条记录在内存中,我只需要提高插入项目的速度。AWS只允许发送25条记录的批次,但我所有的代码都是同步的。
通常,我的数据在对象中有非常少量的数据(例如,具有数字id的3-5属性)。
我从CSV读取了100万条条目,并将其存储在data数组中,然后执行以下操作:
await DatabaseHandler.batchWriteItems('myTable', data); // data length is 1 Million