2012-09-22 56 views
0

我們使用mongodb,並通過pymongo訪問。訪問具有大約1000行的域表的方法更好。注意:findCat將在循環中被調用10,000次?pymongo - 哪種方法更有效率 - 找到一個vs找到一個?

緩存到字典

def __init__(self): 
    self.categories_dict=Utils.todict(db.collection.find_all) 

def findCat(self, key): 
    return self.categories_dict(key) 

直接查詢

def findCat(key): 
    #return object for the key 
    return db.collection.find_one 

回答

0

緩存應該會更快,原因是:

  • 沒有插座I/O
  • 沒有數據轉換

但是做基準很容易。而且mongodb真的很快。除非性能密集,否則不要擔心。對於mongodb,10,000個調用應該沒有問題。