プログラムの Neo4j のテストを開始しましたが、いくつかのパフォーマンスの問題に直面しています。タイトルにもあるように、Neo4j は Java コードに直接埋め込まれています。
私のグラフには、約 400 万のノードと数億の関係が含まれています。私のテストは、ノードのインバウンド関係の数をカウントするクエリを送信することだけです。
このプログラムは、ExecutionEngine 実行プロシージャを使用して、次のクエリを送信します。
start n=node:node_auto_index(id="United States") match s-[:QUOTES]->n return count(s)
いくつかのプリントを追加するだけで、このクエリにかかった時間がわかります。通常は約 900 ミリ秒で、かなり長いです。
最も驚いたのは、応答で「クエリ実行時間」を受け取ったことです。これは実際とは異なります。
たとえば、次のクエリが返されます。
+----------+
| count(n) |
+----------+
| 427738 |
+----------+
1 row
1 ms
この応答によると、Neo4j がクエリに 1 ミリ秒かかったことがわかりますが、いくつかのログ メッセージを出力すると、実際には 917 ミリ秒かかったことがわかります。
1ミリ秒は、インデックス付きオブジェクト「United States」を見つけるのに必要な時間に等しいと思います.Neo4jは、関係の数をカウントするなど、残りに約916ミリ秒を要したことを意味します. この場合、このクエリの getter パフォーマンスを取得するにはどうすればよいですか?
前もって感謝します!