我目前工作的一個電影推薦查詢應該返回最「推薦的影響」電影使用下面的暗號查詢:Neo4j的暗號與電影推薦查詢的查詢性能問題
match (m:Movie)
with m, size((m)<-[:LIKED]-(:User)-[:LIKED]->(:Movie)) as score
order by score desc
limit 10
return m.title, score
看完後graphdb(neo4j)電子書我的假設是,這應該是一個簡單的查詢neo4j但執行時間花了32737毫秒,這不是我所期待的。有沒有人有這些疑問的經驗,並有任何改善表現的建議?或者應該這個查詢執行得很好,我需要做一些neo4j/java配置調優?
查詢的輪廓:
結果:
在這種特定的情況下,預計算似乎是實時報表至少需要30秒才能走的路。我認爲圍繞neo4j圖形數據庫的市場營銷有點誤導,因爲(在閱讀圖形數據庫書籍之後),我預計neo4j可以輕鬆處理這些實時查詢。謝謝您的幫助! –
我認爲,當查詢所考慮的子圖進入數千萬事物的速度減慢時。在你的數據庫中的每部電影(其中大約有10k)做這種查詢與獲得單個電影的得分,甚至是少數幾部分之間也有區別,這可能會考慮數千個節點的子圖比數百萬。 – InverseFalcon