【发布时间】:2016-12-23 23:36:08
【问题描述】:
在我的项目中,我有一个相当大的前缀树,可能包含数百万个节点(在我的开发实例中大约有 25 万个节点),在 OrientDB 中管理(指向我图中的其他顶点)。
前缀树的节点由一个Token顶点类型表示。每个 Token 都有一个“key”属性,并通过“child”边缘类型连接到它的子顶点。因此,像“hello world”这样的序列将表示为:
root -child-> "hello" -child-> "world"
目前,我在 Token.key 上有一个 NOTUNIQUE_HASH_INDEX,我正在查询这样的数据结构:
SELECT EXPAND(OUT('child')[key=:k]) FROM :p
其中 k 是我要查找的子键,p 是父节点的 RID。
一般来说,性能相当不错,但我正在为这个用例寻找改进查询、索引或两者兼而有之的想法。特别是,从具有许多子节点的根节点开始的查询比其他连接较少的节点花费的时间明显更长。
有什么建议吗?提前致谢!
【问题讨论】:
-
你可以在社区看到答案。
标签: orientdb