GraphDatabase(Neo4J)与关系数据库(MySql) - 查询特定表的特定列

Mik*_*378 4 mysql rdbms neo4j graph-databases

当查询要搜索特定表和特定列中的特定数据时,关系数据库(如MySql)的性能优于Neo4j等图形数据库.

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

让我们假设为了简单起见,MySql将Event在"City"上有一个带有索引的表来优化这种查询.

Neo4j怎么样?有人可能会认为图形数据库必须遍历所有图形以检索相关事件......但是,可以使用Neo4j创建一些索引作为其文档准备.

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

Jam*_*mes 6

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

指数可用于节点或关系,并且(通常)跟踪在节点或关系上的某些属性上设置的值.

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

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