开发者社区> 问答> 正文

求教个mongodb的查询优化问题,这是查询条件: .find({ "tenantId" : "qiqiao001" , "name" : { "$regex" : "^.*我的应用22.*$" , "$options" : "i"}}).sort({"updateTime":-1}); 我需要模糊查询name,使用时间倒序查询,数据集合有100w,时间字段updateTime我已经加了索引,数据库直接查询时间需要1.5s以上,求优化一下查询, 单独使用模糊查询或时间排序查询都很快,两个结合在一起就需要1

求教个mongodb的查询优化问题,这是查询条件:
.find({ "tenantId" : "qiqiao001" , "name" : { "$regex" : "^.我的应用22.$" , "$options" : "i"}}).sort({"updateTime":-1});
我需要模糊查询name,使用时间倒序查询,数据集合有100w,时间字段updateTime我已经加了索引,数据库直接查询时间需要1.5s以上,求优化一下查询,
单独使用模糊查询或时间排序查询都很快,两个结合在一起就需要1.53s以上
单独查询都只需要二十几毫秒

展开
收起
李博 bluemind 2019-02-15 17:32:40 4343 0
3 条回答
写回答
取消 提交回答
  • 使用explain看下查询是慢在哪里,考虑加索引进行优化,如果系统没按你预期走索引,试下用hint命令强制选取某一条索引来进行查询.

    2019-07-17 23:28:22
    赞同 展开评论 打赏
  • mongodb里面你索引加在updateTime上面对你的查询性能提升没有太大帮助。不知道是否可以试一下在tenantid上面加上索引?应该可以加快你的查询。

    2019-07-17 23:28:22
    赞同 展开评论 打赏
  • 路过

    2019-07-17 23:28:22
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
开源数据库 MongoDB 专场 MongoDB疑难杂症分析及优化 立即下载
阿里云MongoDB云服务构建 立即下载
饿了么高级架构师陈东明:MongoDB是如何逐步提高可靠性的 立即下载