【发布时间】:2016-11-08 22:16:00
【问题描述】:
假设有一组汽车、飞机......具有不同颜色的顶点
获取所有颜色为红色的汽车:
第一种方法: g.V().has(type, cars).has(color, red)
第二种方法 g.V().and(().has(type, car), ().has(color, red))
这两种方法中哪一种是最优的以及为什么。
【问题讨论】:
假设有一组汽车、飞机......具有不同颜色的顶点
获取所有颜色为红色的汽车:
第一种方法: g.V().has(type, cars).has(color, red)
第二种方法 g.V().and(().has(type, car), ().has(color, red))
这两种方法中哪一种是最优的以及为什么。
【问题讨论】:
第一种方法更好。
假设您有 10 辆汽车(5 辆红色)和 50 架飞机(25 架红色)。第一种方法将遍历 10 辆汽车以找到 5 辆红色汽车。第二种方法会遍历 10 辆车和 30 个红色的东西。
【讨论】:
TraversalStrategy优化吗?
gremlin-users 上交叉发布的。 Marko 提供了更详细的answer。