在MongoDB中,如果有数据需要进行插入操作,一种简单的方法是将每条数据逐条插入,在python的pymongo中便是遍历我们的数据,然后,对每一条数据insert_one(doc)
,这种方法比较简单,同时也非常地灵活,但是,对于大批量的数据而言,效率较低。
而另一种方法是,将需要插入的数据整合到一个列表中,然后将这个列表整体地批量插入到数据中,这样对于大批量的数据而言,效率要高很多。
下面是对于所有数据整体批量插入、逐条数据插入与将数据分成多片进行插入的性能测试。
测试代码如下:
# -*- coding: utf-8 -*-
import time
from pymongo import MongoClient
# 这里将测试的数据库的地址替换为了*
source_db = MongoClient('mongodb://admin:admin@*.*.*.*:*')['test_db']['test_1_13_1']
target_db_1 = MongoClient('mongodb://admin:admin@*.*.*.*:*')['test_db']['test_1_14_1']