【以下的问题经过翻译处理】 你好,
我在 Neptune 中有 100 万+ 个顶点,其中各有一个属性:('__graph','db8db2af-8b0c-49fb-bcf1-c44cae2d2e95')。
我想清空数据库中的所有 100 万个顶点。我知道我必须分段删除顶点,否则查询会超时。每个分段将负责删除 1000 个顶点,通常需要约 2 秒钟。下面是分段查询的样子:
g.V().has('__graph','db8db2af-8b0c-49fb-bcf1-c44cae2d2e95').limit(1000).drop()
以下是执行操作两次后的分析结果:
gremlin> g.V().has('__graph','db8db2af-8b0c-49fb-bcf1-c44cae2d2e95').limit(1000).drop().profile()
==>Traversal Metrics
Step Count Traversers Time (ms) % Dur
NeptuneGraphQueryStep(Vertex) 1 1 2020.007 99.99
NeptuneDropStep 0.101 0.01
TOTAL - - 2020.109 -
gremlin> g.V().has('__graph','db8db2af-8b0c-49fb-bcf1-c44cae2d2e95').limit(1000).drop().profile()
==>Traversal Metrics
Step Count Traversers Time (ms) % Dur
NeptuneGraphQueryStep(Vertex) 1 1 57883.392 100.00
NeptuneDropStep 0.130 0.00
TOTAL - - 57883.522 -
为什么删除如此不一致?通常应该花费 2000 毫秒,但我们看到像第二个示例中的时间大幅波动。很多时候查询在 2 分钟后完全超时。
请提供帮助,
谢谢
Austin