gpt4 book ai didi

gremlin - 索引键上的 Titan 查找速度非常慢?

转载 作者:行者123 更新时间:2023-12-04 15:12:29 24 4
gpt4 key购买 nike

使用带有 Cassandra v 0.3.1 的 Titan,我通过 createKeyIndex 创建了一个顶点键索引如 Titan docs 中所述.

gremlin> g.createKeyIndex("my_key", Vertex.class)
==>null

我现在在图中有 appx 50k 个节点和 186k 个边,我发现使用 my_key 查找之间的性能差异很大。 .此查询大约需要 5 秒才能运行:
gremlin> g.V.has("my_key", "abc")
==>v[12345]

而使用索引 ID 只需不到 1 秒:
gremlin> g.v(12345)
==>v[12345]
my_key没有唯一约束(我不想),但我想知道是什么导致了这种性能差异。如何提高查找非唯一索引顶点键的性能?

最佳答案

这里的问题是使用 .has ,这是一个过滤器函数,不会使用任何索引。来自 GremlinDocs :

It is worth noting that the syntax of has is similar to g.V("name",
"marko")
, which has the difference of being a key index lookup and as such will perform faster. In contrast, this line, g.V.has("name",
"marko")
, will iterate over all vertices checking the name property of each vertex for a match and will be significantly slower than the key index approach.



对于上面的示例,这将使用索引并非常快速地执行查找(< 1 秒):
gremlin> g.V("my_key", "abc")
==>v[12345]

关于gremlin - 索引键上的 Titan 查找速度非常慢?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17147691/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com