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

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

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

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

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

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

解决方法:

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

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

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

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

上一篇:sql-此查找(关联)表正确吗? (多对多关系)


下一篇:是否有用于比较数据库架构的Java API