首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JanusGraph(gremlin)中更新许多边的属性非常慢

问在JanusGraph(gremlin)中更新许多边的属性非常慢
EN

Stack Overflow用户
提问于 2019-10-18 17:56:48
回答 1查看 205关注 0票数 0

有一个拥有大量数据的JanusGraph数据库,其中包含大约6亿条边。

每一端都有"hash“和"timestamp”属性。

我想根据"hash“属性更新每条边上的"timestamp”属性。然而,更新的速度非常慢。

下面是我是如何为"hash“属性建立索引的:

代码语言:javascript
复制
hash = mgmt.makePropertyKey('hash').dataType(String.class).cardinality(SINGLE).make()

mgmt.buildIndex('HashComposite', Edge.class).addKey(hash).buildCompositeIndex()

下面是我是如何更新"timestamp“属性的:

代码语言:javascript
复制
g.E().has('hash', 'c2719586fb6a26d492bf65a0263a1c52f5ff6ef3').property("timestamp", timestamp).next()

事实上,我发现即使我不更新时间戳属性,而只是遍历边缘,速度仍然非常慢:

代码语言:javascript
复制
g.E().has('hash', 'c2719586fb6a26d492bf65a0263a1c52f5ff6ef3').next()

当建立"hash“索引时,为什么遍历边缘的速度如此之慢?

EN

回答 1

Stack Overflow用户

发布于 2019-10-19 15:26:09

您可以对查询运行profile,以验证索引是否正在实际使用:

代码语言:javascript
复制
g.E().has('hash', hash).profile()

您是在加载图形数据之前还是之后创建索引的?如果在此之后,您应该首先对数据重新编制索引:

代码语言:javascript
复制
mgmt.updateIndex(mgmt.getGraphIndex("HashComposite"), SchemaAction.REINDEX).get()
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58448430

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档