美文网首页
Mongodb正则查询速度慢的问题(正则用不上索引)

Mongodb正则查询速度慢的问题(正则用不上索引)

作者: a9b854aded01 | 来源:发表于2019-09-26 06:55 被阅读0次

运行环境:Python pymongo
查询例子:/search?type=9&name=总账如何取消凭证记账&productionLine=.*
经过分词要模糊查询一些东西
正则查询变量((?=.记账)|(?=.总账)|((?=.会计凭证)|(?=.凭证)))((?=.*取消))
查询结果:

image.png

查询遍历一次的时间大概在1-2s

换一种正则方式:

 test = "((财务)|(月结))"
    test2 = "((?=.*记账)|(?=.*总账)|((?=.*会计凭证)|(?=.*凭证)))((?=.*取消))"
    test3 = "((?=.*记账)|(?=.*凭证))"
    resuq = {}
    reid = []
    starttime = datetime.datetime.now();
    dd = mycol.find({ "string": re.compile("((财务)|(凭证)|(记账)|(取消)|(会计凭证)|(总账))")}).limit(
        200)

查询结果


image.png

总结:mongodb的正则查询需要开头明确的查询条件(细节还没有研究,具体可以参考其他博客),否则无法用上索引。

相关文章

网友评论

      本文标题:Mongodb正则查询速度慢的问题(正则用不上索引)

      本文链接:https://www.haomeiwen.com/subject/fcbquctx.html