2012-04-08 105 views
4

我是Neo4j的新手,不能理解爲什麼Neo4j必須比有效的SQL查詢更快。是因爲數據結構還是基礎查詢實現?我真的很感激,如果有人能幫我解決這個問題。爲什麼Neo4j比SQL更快

+1

如果您滿意,請接受drexin的回覆。 – wssbck 2014-02-19 16:05:41

回答

10

Neo4j通常不會比SQL數據庫更快。基於圖的問題在很多情況下更快。例如,如果你想找到兩個實體之間的最短路徑,Neo4j很可能會勝過MySQL等,因爲數據的結構以及你可以使用的算法是因爲這個結構。 Neo4j將數據存儲爲這些節點之間的節點和關係。它們直接相連。簡單的最短路徑算法是寬度優先搜索。你從一個節點開始,展開它的連接節點,然後爲它的每個孩子做同樣的事情,直到找到終端節點。這樣你只會觸及少量的數據。在SQL查詢中,您無法輕鬆完成此操作,因此您必須在代碼中構建某些內容,遍歷結果集併爲每個結果生成新的查詢等等。所以你最終會遇到很多問題。

相關問題