开发者社区> 问答> 正文

求教个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 4342 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
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
2022 DTCC-阿里云一站式数据库上云最佳实践 立即下载
云时代的数据库技术趋势 立即下载
超大型金融机构国产数据库全面迁移成功实践 立即下载