4

当查询即将在特定表和特定列中搜索特定数据时,关系数据库(如 MySql)是否比 Neo4j 等图形数据库执行得更好。

例如,如果查询是:“搜索在巴黎发生的所有事件”。

为简单起见,我们假设 MySql 将有一个Event带有“City”索引的表来优化这种查询。

Neo4j 呢?有人可能认为图形数据库必须遍历所有图形才能检索相关事件……但是,可以使用 Neo4j 创建一些索引作为其文档精确度。

对于这种分析/统计请求,为什么 RDMBS 会比它更快?

4

1 回答 1

6

正如您已经提到的:您将为此目的创建索引。Neo4j 中的默认索引提供程序是lucene,它非常快并且允许细粒度的索引和查询可能性。

索引可用于节点或关系,并且(通常)跟踪已在节点或关系的某些属性上设置了哪些值。

您通常必须在应用程序代码中进行索引,除非您使用 neo4j 的自动索引功能,该功能会自动索引所有节点和/或与给定属性的关系。

因此,像“搜索在巴黎发生的所有事件”这样的查询绝对没有问题,并且在使用索引时非常高效。

于 2013-01-15T14:37:24.957 回答