我是 Neo4j 的新手,不太明白为什么 Neo4j 必须比高效的 SQL 查询更快。是因为数据结构还是底层查询实现?如果有人可以帮助我解决这个问题,我真的很感激。
问问题
2139 次
1 回答
10
Neo4j 通常并不比 SQL 数据库快。对于基于图形的问题,它在许多情况下更快。例如,如果您想找到两个实体之间的最短路径,Neo4j 很可能会胜过 MySQL 等,因为数据的结构方式以及由于这种结构您可以使用的算法。Neo4j 将其数据存储为节点以及这些节点之间的关系。它们直接相连。一个简单的最短路径算法是广度优先搜索。您从一个节点开始并展开它的连接节点,然后对它的每个子节点执行相同操作,直到找到结束节点。这样,您将只接触少量数据。在 SQL 查询中你不能轻易做到这一点,所以你必须在你的代码中构建一些东西,遍历结果集并为每个结果生成新的查询,依此类推。所以你最终会遇到很多查询。
于 2012-04-08T01:57:19.637 回答