[英]Optimise Pymongo query time
我在 mongo db 上運行查詢並尋找解決方案來優化所用時間。
我的查詢就像collection.find({'nameId':989080880,'Date':{'$gte':startDate}})
我所做的如下
pd.DataFrame(collection.find({'nameId':989080880,'Date':{'$gte':startDate}}))
此查詢耗時:x 毫秒
然后我試過了
document=[]
for doc in collection.find({'nameId':989080880,'Date':{'$gte':startDate}}):
document.append(doc)
但它只比 x ms 提高了 15%
無法索引,因為“nameId”是一個長整數,索引將需要更多的 RAM 等。
期待一些建議
首先是使用列表理解來優化列表,例如:
document=[doc for doc in collection.find({'nameId':989080880,'Date':{'$gte':startDate}})]
其次,如果您不需要文檔中的所有字段,只需使用投影,它是一個包含您需要返回的所有字段的 object。 使用projection = { name: 1, address: 1}
在您的查找查詢中,您的所有文檔僅返回名稱、地址字段和 _id。 有關更多信息,您可以在此處閱讀
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.