2017-02-17 6 views
0

ネットワーク呼び出しおよびクエリ処理時間が良いそれが頂点からいくつかのプロパティを取得したり、グレムリン全体の頂点を取得することです

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]] 
g.V().has('personId','1234').properties('name','age') 
     => vp[name->chris 
     =>vp[age->24] 

4)は、全体の頂点を取得することは私たちのネットワーク帯域幅の多くを要するん。私は通常、クエリ処理が迅速に行われるように頂点を取得します。

答えて

2

最も安いオプションは2,3です。 ElementVertexEdgeVertexProperty)を返すと、個別の結果を返すか、Mapまたは結果よりもコストがかかります。偶数次全体Elementを返すよりも安価である:

g.V(1).valueMap(true) 

たデータの観点からは、基本的g.V(1)と同じです。

基本ルールはSQLとあまり変わらないことになります。 SELECT * FROM tableを実行したり、要素からすべてのデータを返す必要はありません。必要なデータだけを取得します。

+0

スティーブン、私も同じような気がしましたが、データをマップに変換するために他のものよりも多くの処理時間を要します。 –

関連する問題