求教个mongodb的查询优化问题,这是查询条件:
.find({ "tenantId" : "qiqiao001" , "name" : { "$regex" : "^.我的应用22.$" , "$options" : "i"}}).sort({"updateTime":-1});
我需要模糊查询name,使用时间倒序查询,数据集合有100w,时间字段updateTime我已经加了索引,数据库直接查询时间需要1.5s以上,求优化一下查询,
单独使用模糊查询或时间排序查询都很快,两个结合在一起就需要1.53s以上
单独查询都只需要二十几毫秒
使用explain看下查询是慢在哪里,考虑加索引进行优化,如果系统没按你预期走索引,试下用hint命令强制选取某一条索引来进行查询.
mongodb里面你索引加在updateTime上面对你的查询性能提升没有太大帮助。不知道是否可以试一下在tenantid上面加上索引?应该可以加快你的查询。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。