Arangodb-慢速游标

Arangodb-慢速游标,arangodb,aql,Arangodb,Aql,嗨,我有一个简单的收藏,里面有4万张唱片。它只是一个csv(c.4Mb)的导入,因此每个文档都有一个一致的对象,并且用于一个开放的数据门户 我需要能够提供一个完整的数据下载以及查询,分组,聚合等AQL的能力 如果我将batchSize设置为完整数据集,则返回大约需要50秒,而且由于列名的原因,返回大约12Mb也就不足为奇了。 如 {“查询”:“对于数据集中的x,返回x”,“batchSize”:50000} 我尝试过在较大的批处理大小和使用游标构建整个数据集之间进行缓存和平衡,但我无法将响应时间

嗨,我有一个简单的收藏,里面有4万张唱片。它只是一个csv(c.4Mb)的导入,因此每个文档都有一个一致的对象,并且用于一个开放的数据门户

我需要能够提供一个完整的数据下载以及查询,分组,聚合等AQL的能力

如果我将batchSize设置为完整数据集,则返回大约需要50秒,而且由于列名的原因,返回大约12Mb也就不足为奇了。 如
{“查询”:“对于数据集中的x,返回x”,“batchSize”:50000}

我尝试过在较大的批处理大小和使用游标构建整个数据集之间进行缓存和平衡,但我无法将响应时间缩短很多

今天我遇到了
属性
函数,并创建了这个AQL语句

{“查询”:“返回联合”(
对于数据集中的x限制1返回属性(x,true),
对于数据集中的x返回值(x,true))“,“batchSize”:50000}

这将意味着我必须拆开对象,但我使用,所以应该没有问题(尚未证明)

这是最好的/唯一的方法,可以选择输出完整的csv,并且仍然有性能良好的响应吗

我试图避免多次存储数据,例如一次存储原始csv数据,然后在集合中存储数据。我想可能有一个数据集太大,无法处理这种方法,但这是我们更大的数据集之一


谢谢

那么您自己查询数据库并构建CSV?改用arangoexport怎么样?否则,您可能会对流式查询感兴趣,它在devel中提供,并将在即将发布的3.4版本中发布:非常感谢。是的,一个选择是自己形成CSV,因为我不能直接从数据库中获取它(我接受这可能不是一个常见的要求)。看起来我需要看看PapaParse,客户端在几秒钟内就可以解析,服务器端大约需要17秒钟。现在api/游标调用非常快,即使在返回c.40k解析时也是如此。我将查看arangoexport,因为我可能只是有一个批量作业来创建csv,因为白天的数据不是动态的。我还将研究流式查询。谢谢…CSV格式的这些特殊要求是什么?这和逃跑有关系吗?还是关于输出顺序?Arangoexport确实有一个查询选项,可以用来重组和排序数据,如果这是你想要的。嗨@CoDEmanX,谢谢,我没有任何特殊要求。我有一个web应用程序,所以我更喜欢通过csv而不必通过命令行Arangoexport。不过,如果证明速度更快,我会的。