私たちは、 neo4jとphpに基づいて、約20 万ノードのアプリケーションを開発しています。各ノードには、 アプリケーションの特定のエンティティのようなプロパティtype='user'
またはその エンティティを示すプロパティがあります。type='company'
グラフ内の特定のタイプのすべてのノードの数を取得する必要があります。
そのプロパティのノードを保持する のusers
ようなすべてのエンティティのインデックスを作成しました。companies
したがって、users
インデックス内には130Kノードが存在し、残りはcompanies
.
Cypher では、このようにクエリを実行します。
START u=node:users('id:*')
RETURN count(u)
そして結果は
Returned 1 row.Query took 4080ms
サーバーは少し調整してデフォルトとして構成されていますが、4 秒は私たちのニーズには長すぎます。データベースは 1 か月で 20,000 になると考えてください。
おそらくGremlinまたは他のサーバープラグインを使用して、これを行う他の方法はありますか? これらの結果をキャッシュしますが、これを微調整できるかどうか知りたいです。
どうもありがとうございました。私の下手な英語で申し訳ありません。