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
我正在创建一个同时使用 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