def test_find_update():
db = Connection()
db.drop_collection("test")
db.test.insert({"x":1,"y":2})
start = time.time()
for i in range(1,10000):
y = db.test.find_one()
print db.test.find_one()
print time.time()-start
db.drop_collection("test")
start = time.time()
for i in range(1,10000):
db.test.insert({"x":1,"y":2})
print db.test.find_one()
print time.time()-start
db.drop_collection("test")
db.test.insert({"x":1,"y":2})
start = time.time()
for i in range(1,10000):
db.test.update({},{"$inc":{"x":1,"y":2}})
print db.test.find_one()
print time.time()-start
{u'y': 2, u'x': 1, u'_id': ObjectId('4ffd159ae3f0f8103a000000')}
**9.78821802139**
{u'y': 2, u'x': 1, u'_id': ObjectId('4ffd15a4e3f0f8103a000001')}
**0.82381606102**
{u'y': 200000, u'x': 100000, u'_id': ObjectId('4ffd15a5e3f0f8103a002710')}
**0.635884046555**
我覺得找運營商可能這麼便宜,卻是相反我的假設。 任何人都可以告訴我爲什麼找到操作員是如此費時?
你想要測試什麼?非索引查找與防火忘記寫入?單個查詢中包含10k個文檔?這聽起來不像是一個特別豐富的測試,因爲它與你在生產系統中做的任何事情沒有任何關係。 – 2012-07-11 09:02:32