从顶点获取少量属性还是在 gremlin 中获取整个顶点更好

is it better to get few properties from a vertex or getting the whole vertex in gremlin

在考虑网络调用和查询处理时间时,这些查询中哪些查询具有成本效益

1)

g.V().has('personId','1234')
=> V[4232]

2)

g.V().has('personId','1234').values('name','age')
=> chris
=> 24

3)

g.V().has('personId','1234').valueMap('name','age')
    => [name:[chris],age:[24]]

4)

 g.V().has('personId','1234').properties('name','age')
        => vp[name->chris
         =>vp[age->24]

获取整个顶点是否会花费我们更多的网络带宽。我通常会得到顶点,因为查询处理很快就完成了

最便宜的是选项二和选项三。返回 Element,即 VertexEdgeVertexProperty 比 return 单个结果或 Map 的成本更高或结果。即使是以下内容也比 return 整个 Element:

便宜
g.V(1).valueMap(true)

从数据的角度来看与g.V(1)基本相同。

基本规则最终与 SQL 没有太大区别。您可能不会 SELECT * FROM table,也不应该 return 元素中的所有数据 - 只检索您需要的数据。