Лучше получить несколько свойств из вершины или получить всю вершину в гремлине
Какой из этих запросов является экономически эффективным при рассмотрении сетевых вызовов и времени обработки запроса
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
Кроме того, вы не должны возвращать все данные из элемента - получать только те данные, которые вам нужны.