Neo4j 中的索引,文本或整数

Indexing in Neo4j, text or integer

我正在创建一个同时使用 MySql 和 Neo4j 的应用程序。我认为在 table 中列出许多节点属性会在查询特定节点集(甚至之前)后更快地读取所有这些属性,但我愿意被证明是错误的。毕竟查找行的属性是关系数据库的目的。

为了保证一致性,我在每个节点上都创建了一个属性,也就是我sql table.

中的auto_increment ID

我希望 neo4j 允许索引 属性 而不管标签,但事实并非如此,我很难理解为什么这根本不可能。

问题是:您认为如果索引在数字上而不是在字符串上,neo4j 的性能会好得多吗?我在考虑是否放弃数字 ID 并坚持使用 node.name

can configure indexes on properties without referring to particular labels。您可以通过在 conf/neo4j.properties.

中编辑 node_auto_indexing 来完成此操作

如果您想比较简单的相等性,我猜数字索引可能会稍微快一些,但我怀疑差异是否大到足以产生非常有意义的差异,除非字符串替代项非常大。

另一种选择是使用您的 auto_id 节点 属性 在该标签上放置一个 AutoInc 标签和索引。

假设auto_id是你添加到所有节点引用MySQL auto_increment ID列的属性,那么:

CREATE INDEX ON AutoInc:(auto_id)

MATCH(n)
SET n :AutoInc