Лучше получить несколько свойств из вершины или получить всю вершину в гремлине

Какой из этих запросов является экономически эффективным при рассмотрении сетевых вызовов и времени обработки запроса

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 ответ

Решение

Самыми дешевыми будут варианты два и три. Возвращение Element, который был бы Vertex, Edge, VertexProperty будет дороже, чем возвращение отдельного результата или Map или результаты. Даже следующее ниже, чем возвращение всего Element:

g.V(1).valueMap(true)

который с точки зрения данных в основном такой же, как g.V(1),

Основное правило в конечном итоге не так уж отличается от SQL. Вы, вероятно, не сделали бы SELECT * FROM tableКроме того, вы не должны возвращать все данные из элемента - получать только те данные, которые вам нужны.

Другие вопросы по тегам