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秒。 –
好吧,我把小屋^放在你把它放在外面的模式里面。无论如何,如果这不帮助尝试为每个字段创建不同的索引,而不是合并索引 –