在ArangoDB中创建了events
文档。加载了100万条记录,如下所示,在40秒内完成。
FOR I IN 1..1000000
INSERT {
"source": "ABC",
"target": "ABC",
"type": "REST",
"attributes" : { "MyAtrib" : TO_STRING(I)},
"mynum" : I
} INTO events
因此,记录1是超级父项,2是1的子项,等等1 --> 2 --> 3 --> 4 --> ...1000000
创建了空的Edge集合ChildEvents
,并尝试通过下面的查询建立父子Edge关系,但始终没有完成(在mynum
上创建了哈希索引,但没有成功)
FOR p IN events
FOR c IN events
FILTER p.mynum == ( c.mynum + 1 )
INSERT { _from: p._id, _to: c._id} INTO ChildEvents
如有任何帮助,我们将不胜感激。
1条答案
按热度按时间x6492ojm1#
在我的系统上创建事件文档大约花了50秒,我在
events
集合中添加了一个mynum
的索引,然后运行第二个查询(最后添加了一个RETURN NEW
),处理边缘大约花了70秒(加上渲染边缘子集的时间):我使用的是ArangoDB 3.6.0,在Windows 10下使用RocksDB引擎,英特尔i7- 6700 K 4x4.0 GHz,32 GB内存,三星Evo 850固态硬盘。
您确定索引设定正确吗?请解释查询并检查执行计划,您可能觉得有些不同?