1

そこで、Neo4j コミュニティ データベースに 100 万ノードをロードし、564343 番目のノードを取得しようとしました。31.568秒かかります。neo4jはそんなにひどいですか、それとも私は何か間違ったことをしていますか? 私はneo4j.rb gemでjrubyを使用しています。

irb(main):001:0> 1.upto(1000000) { |n| UserNode.create(user_id: n) }
irb(main):018:0* bm = Benchmark.measure do 
irb(main):019:1* nx = UserNode.find(user_id: 564343)
irb(main):020:1> end
=> #<Benchmark::Tms:0x2836b45a @stime=0.7000000000000028, @real=31.567999839782715, @total=37.9700000000001, @cutime=0.0, @utime=37.270000000000095, @label="", @cstime=0.0>
irb(main):021:0> puts bm
37.270000   0.700000  37.970000 ( 31.568000)
=> nil
4

1 に答える 1

2

私は neo4j.rb にはあまり詳しくありませんが、検索でインデックスを使用していないように感じます。そのため、データベース全体をスキャンする必要があります。

于 2013-06-08T08:25:45.017 に答える