绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
MongoDB图查询性能测试
2020-05-22 10:50:26

要使用图查询$graphLookup mongodb的版本必须在3.4以上

可以使用db.version()查看


现用官方给的例子测试:

db.employees.insert({ "name" : "Dev"})
db.employees.insert({ "name" : "Ron", "reportsTo" : "Eliot" })
db.employees.insert({ "name" : "Andrew", "reportsTo" : "Eliot"})
db.employees.insert({"name" : "Asya", "reportsTo" : "Ron"})
db.employees.insert({"name" : "Dan", "reportsTo" : "Andrew" })

db.employees.aggregate( [
   {
      $graphLookup: {
         from: "employees",
         startWith: "$reportsTo",
         connectFromField: "reportsTo",
         connectToField: "name",
         as: "reportingHierarchy"
      }
   }
] )



数据量小查询很快:



接下来用一个实际点的例子来测试:


16万条行业分类数据 通过子节点找父节点

db.company_industry_category.aggregate([
   {
      $graphLookup: {
         from: "company_industry_category",
         startWith: "$parentName",
         connectFromField: "parentName",
         connectToField: "name",
         as: "parent"
      }
   }
])


没加索引之前查询时间为410秒 ,完全不能接受的慢。。。

加了索引之后 时间缩短到6.8秒 勉强可用

分享好友

分享这个小栈给你的朋友们,一起进步吧。

MongoDB资料专区
创建时间:2020-05-08 13:54:47
MongoDB是一个介于关系数据库和非关系数据库之间的产品。MongoDB是一个基于分布式文件存储 [1] 的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

技术专家

查看更多
  • 小雨滴
    专家
戳我,来吐槽~