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

时间:2017-02-17 11:17:36

标签: gremlin tinkerpop

在考虑网络呼叫和查询处理时间时,哪些查询具有成本效益

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]

确实让整个顶点花费了更多的网络带宽。我通常在查询处理快速完成时获得顶点

1 个答案:

答案 0 :(得分:2)

最便宜的将是选项二和三。返回ElementVertexEdgeVertexProperty将比返回单个结果或Map或结果更昂贵。即使是以下内容也比返回整个Element

便宜
g.V(1).valueMap(true)
从数据的角度来看,

g.V(1)基本相同。

基本规则最终与SQL没有什么不同。您可能不会执行SELECT * FROM table,也不会返回元素中的所有数据 - 只检索您需要的数据。