在100万级大数据量插入,MongoDB中速度还相当快的。
下面分享Java操作代码和测试结果
Java代码:
@Test
void saveBatch() {
long start=System.currentTimeMillis();
int oneNum=3000;
List<User> insertDataList=new ArrayList(oneNum);
for(int i=0;i<1000000;i++){
User user=new User();
user.setName("B"+i);
user.setPassword("B"+i);
insertDataList.add(user);
if(insertDataList.size()>=oneNum){
BulkOperations operations = mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED,"dept3");
operations.insert(insertDataList);
operations.execute();
insertDataList=new ArrayList(oneNum);
}
}
if(!insertDataList.isEmpty()){
BulkOperations operations = mongoTemplate.bulkOps(BulkOperations.BulkMode.UNORDERED,"dept3");
operations.insert(insertDataList);
operations.execute();
}
System.out.println("100万用户用时:"+(System.currentTimeMillis()-start)+"毫秒");
}
压测结果:
一次插入1条 100万用户用时:127229毫秒 一次插入3000条 100万用户用时:7412毫秒 一次插入5000条 100万用户用时:7490毫秒 一次插入10000条 100万用户用时:7386毫秒
|