首页 > 数据库 > > MongoDB图查询性能测试
要使用图查询$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秒 勉强可用
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31537575/viewspace-3147396/ ,如需转载,请注明出处,否则将追究法律责任。