每当我尝试创建一个700.000到2 Mio边缘的新图形时,都需要很长时间。我观察到由于API中的新功能
/_api/query/current
可能图形创建会自动触发某种缓存加载,但两次?
[
{
"id": "70",
"query": "FOR x IN GRAPH_VERTICES(@graph, {}) SORT RAND() LIMIT @limit RETURN x",
"started": "2015-03-31T19:06:59Z",
"runTime": 41.95919394493103
},
{
"id": "71",
"query": "FOR x IN GRAPH_VERTICES(@graph, {}) SORT RAND() LIMIT @limit RETURN x",
"started": "2015-03-31T19:06:59Z",
"runTime": 41.95719385147095
}
]
这是对的吗?有更有效的方法吗?
提前致谢!
答案 0 :(得分:1)
图表查看器两次发出上述RAND()
查询:
- 触发一个实例以确定图中的随机顶点
- 触发另一个实例以确定图形的某些随机顶点的属性,以便填充搜索输入字段
图表查看器使用的AQL效率低下。它构建一个大的列表,随机排序并从中返回1(第一个查询)或10个(第二个查询)文档。这已在提交c28575f202a58d5c93e6c36883effda48c2a7159中修复,因此现在效率更高。
修复程序将包含在下一个版本中(即2.5.2)。