나는 python connector pymongo와 pymysql, 특히 insert 함수를 사용하여 MongoDb와 MySQL을 테스트하고있다. 간단한 그리고 사전, 6 열pymongo insert 대 pymysql insert
connection = pymysql.connect(host='127.0.0.1',
user='admin',
password='toto',
db='cqt',
charset='utf8mb4',
cursorclass=pymysql.cursors.DictCursor)
cursor = connection.cursor()
sqlRequest = """INSERT INTO `cqt`.`myTable` (`a`,`b`) VALUES """
for data in datas : sql += data.getSQL() + "," # 2000 rows
deltaT = time.clock()
cursor.execute(sql)
deltaT = time.clock() - deltaT
데이터는 다음과 같습니다
client = MongoClient('localhost', 27017)
db = client['local']
collection = db['cqt']
for i in range (0,10):
datas = [ {'a' : 1, 'b':2" }, {'a' : 3, 'b':4" }, ...] # 2000 dicts
data = [ bson.son.SON(d) for d in datas]
deltaT = time.clock()
collection.insert_many(data)
deltaT = time.clock() - deltaT
와 MySQL을 위해 : pymongo 버전은 3.4이며, pymysql은 0.7.9이며, 파이썬 내 코드가 몽고에 보이는 3.5
입니다 문자열 키와 int 값. 계수로 델타 T 변수 (2000 개 항목을 삽입하는 데 필요한 시간), 나는 그 몽고는 MySQL을보다 훨씬 느립니다 찾을 수 놀랐을 플롯 할 때 은 10 insert duration results
I가
하지 않을
여기서 벤치 마크를 수행하고 필요로하는 용도로 데이터베이스 성능을 평가하십시오. 그러나 자바에서 작성된 다른 테스트 나 MySQL과 MongoDB 사이의 웹 벤치 마크에서 보면 파이썬에 대한 나의 결과는 내가 기대했던 것이 아니다. MySQL과 Mongo를 삽입 할 때 상당히 비슷한 퍼포먼스가 있어야하며, Mongo의 성능도 더 좋아야합니다.따라서, pymongo 커넥터의 속도가 느립니까? 성능 향상을 위해 코드 또는 MongoDB에서 수정해야하는 매개 변수가 있는지 알고 계십니까? MongoDB의 성능이 더 좋습니다.
답변 해 주셔서 감사합니다. 다중 처리가 트릭을 만들었습니다. – Setoh