我有一个节点类型,它有一个字符串属性,该属性的值非常经常相同。例如,数百万个节点中有仅5个选项的字符串值。我将通过该属性进行搜索。
我的问题是,从性能和内存方面来看,哪种方式更好: a)将其实现为节点属性并拥有大量重复项(并使用WHERE进行搜索)。 b)将其实现为5个附加节点,所有原始节点都引用其中之一(并使用附加MATCH进行搜索)。
我有一个节点类型,它有一个字符串属性,该属性的值非常经常相同。例如,数百万个节点中有仅5个选项的字符串值。我将通过该属性进行搜索。
我的问题是,从性能和内存方面来看,哪种方式更好: a)将其实现为节点属性并拥有大量重复项(并使用WHERE进行搜索)。 b)将其实现为5个附加节点,所有原始节点都引用其中之一(并使用附加MATCH进行搜索)。
不了解更多细节,很难给出通用的答案。
从性能的角度来看,尽早限制搜索范围是更好的选择。如果您不必查看遍历属性,则更加有利。
鉴于此,我认为最好将查找属性移动到单独的节点中,并将该值用作关系类型。