【问题标题】:Is Neo4j faster than SQL?Neo4j 比 SQL 快吗?
【发布时间】:2012-04-08 01:16:04
【问题描述】:

我是 Neo4j 的新手,不太明白为什么 Neo4j 必须比高效的 SQL 查询更快。是因为数据结构还是底层查询实现?如果有人能帮助我解决这个问题,我真的很感激。

【问题讨论】:

  • 如果drexin的回复让您满意,请接受。

标签: sql nosql neo4j


【解决方案1】:

Neo4j 通常并不比 SQL 数据库快。对于基于图形的问题,它在许多情况下更快。例如,如果您想找到两个实体之间的最短路径,Neo4j 很可能会优于 MySQL 等,因为数据的结构方式以及由于这种结构您可以使用的算法。 Neo4j 将其数据存储为节点以及这些节点之间的关系。它们直接相连。一个简单的最短路径算法是广度优先搜索。您从一个节点开始并展开它的连接节点,然后对它的每个子节点执行相同操作,直到找到结束节点。这样,您将只接触少量数据。在 SQL 查询中你不能轻易做到这一点,所以你必须在你的代码中构建一些东西,遍历结果集并为每个结果生成新的查询等等。所以你最终会遇到很多查询。

【讨论】:

  • 实际上,这不是真的。任何时候你有多个连接相关信息的连接,Neo4j 搜索往往优于 SQL。每个连接都会使 SQL 变慢,但在 Neo4j 中,从节点到节点的遍历往往几乎是立即的。由于大多数查询都涉及某种形式的深度连接数据,因此 Neo4j 和其他图形数据库的性能优于标准 SQL 数据库。
猜你喜欢
  • 2020-01-13
  • 1970-01-01
  • 2014-12-30
  • 1970-01-01
  • 1970-01-01
  • 2011-01-09
  • 2017-01-17
  • 2014-01-20
  • 2018-05-03
相关资源
最近更新 更多