2
我有以下mongodb文件與800萬文件。Mongodb查詢速度太慢,部分字段搜索索引字段
Customer
{
"lastName" : "LAST",
"firstName" : "FIRST"
}
如果我在10毫秒的基礎上的lastName和名字,那麼它的速度快,得到的結果與搜索我有以下指標
db.customer.createIndex({lastName: 1, firstName: 1},{collation: { locale: "en_US", strength: 1}})
。
db.customer.find({lastName:"LAST" ,firstName:"FIRST"}).collation({ locale: 'en_US', strength: 1 })
我正在嘗試查找所有以「姓氏」作爲姓氏中的字符的文檔。但它需要超過100秒才能返回響應。我嘗試了以下選項,但都花了超過100秒。 不MongoDB的確實像SQL有點像操作('%AS%')
1)
db.customer.find({lastName:{"$regex": "AS"} ,firstName:"FIRST"}).collation({ locale: 'en_US', strength: 1 })
2)
db.customer.find({lastName:{"$regex": "/AS/"} ,firstName:"FIRST"}).collation({ locale: 'en_US', strength: 1 })
3)
db.customer.find({lastName:{"$regex": "^/AS/"} ,firstName:"FIRST"}).collation({ locale: 'en_US', strength: 1 })
的在你的正則表達式
你好,你的建議是相同的查詢像在原來的職位(案例3)。它採取相同的100秒。 –
好吧,我把小屋^放在你把它放在外面的模式裏面。無論如何,如果這不幫助嘗試爲每個字段創建不同的索引,而不是合併索引 –