以Neo4j,文本或整数索引

时间:2015-03-12 20:05:24

标签: mysql indexing neo4j

我正在创建一个同时使用MySql和Neo4j的应用程序。我认为列出表中的许多节点属性在查询特定节点集(甚至之前)之后读取所有节点的速度会更快,但我很容易被证明是错误的。毕竟找到一行的属性是关系dbs的用途。

为了确保一致性,我在每个节点上创建了一个属性,它是我的sql表中的auto_increment ID。

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

问题是:如果索引是在一个数字而不是字符串上,你认为neo4j的性能会好得多吗?我在想是否删除数字ID并坚持使用node.name

2 个答案:

答案 0 :(得分:2)

can configure indexes on properties without referring to particular labels。您可以通过修改node_auto_indexing中的conf/neo4j.properties来完成此操作。

如果你想比较简单的相等,我猜测数字的索引可能会稍微快一些,但我怀疑差异是否足够大,非常有意义,除非字符串替换非常大。

答案 1 :(得分:0)

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

假设auto_id是您添加到所有节点以引用MySQL auto_increment ID列的属性,则:

CREATE INDEX ON AutoInc:(auto_id)

MATCH(n)
SET n :AutoInc