性能问题我 Arango 查询同时返回整个对象
Performance Issue i Arango query while returning the whole Object
我是 ArangoDB 的新手。在提高查询性能方面需要一些帮助。
Tech specs: ArangoDb(3.6.2) , Java 8 Springboot application(2.xx) .
我正在尝试 运行 一个查询,其中 return 在合并来自几个 Graphs 的数据后是一个对象。
当我直接 return 对象时,查询 运行 是无限的,而当我只是 return 对象的一个元素时,它 运行 更快(如 75 秒)。
for d in data
return d
输出:
[{
accntDtl:{ //account detials here
},
accntPrfl:{//accnt profile here
},
//few other parameters
}]
return d
- 运行s 无限。
而 return d.accnt[0].accntDtl[0].accntId
- 在 75 秒内执行..
提高其性能的可能解决方案是什么?
注:本次查询return约200万条记录。
出于保密目的,我无法post此处的整个查询。
提前致谢。
更新:包括用于流式传输的 AqlQueryOptions。
aqlQueryOptions.stream(true),aqlQueryOptions.batchSize(10000)
消费相同:
while(cursor.hasNext()){
result = cursor.next();
//deserilize result as doc
resultList.add(doc)
..... processing the data
}
但是这次迭代是一对一进行的,而不是 batchSize 参数中指定的 10,000 个批次。
我很确定,使用游标的方式是不可取的。请建议在每次迭代中以 10,000 个为一组使用此数据的最佳方法。
对于此类查询,使用流式游标会有所帮助,在创建 AQL 游标时将 stream
设置为 true
。
这里是参考文档:
我是 ArangoDB 的新手。在提高查询性能方面需要一些帮助。
Tech specs: ArangoDb(3.6.2) , Java 8 Springboot application(2.xx) .
我正在尝试 运行 一个查询,其中 return 在合并来自几个 Graphs 的数据后是一个对象。 当我直接 return 对象时,查询 运行 是无限的,而当我只是 return 对象的一个元素时,它 运行 更快(如 75 秒)。
for d in data
return d
输出:
[{
accntDtl:{ //account detials here
},
accntPrfl:{//accnt profile here
},
//few other parameters
}]
return d
- 运行s 无限。
而 return d.accnt[0].accntDtl[0].accntId
- 在 75 秒内执行..
提高其性能的可能解决方案是什么?
注:本次查询return约200万条记录。
出于保密目的,我无法post此处的整个查询。
提前致谢。
更新:包括用于流式传输的 AqlQueryOptions。
aqlQueryOptions.stream(true),aqlQueryOptions.batchSize(10000)
消费相同:
while(cursor.hasNext()){
result = cursor.next();
//deserilize result as doc
resultList.add(doc)
..... processing the data
}
但是这次迭代是一对一进行的,而不是 batchSize 参数中指定的 10,000 个批次。 我很确定,使用游标的方式是不可取的。请建议在每次迭代中以 10,000 个为一组使用此数据的最佳方法。
对于此类查询,使用流式游标会有所帮助,在创建 AQL 游标时将 stream
设置为 true
。
这里是参考文档: